国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python運用fastapi完成上傳圖片

89542767 / 1980人閱讀

  FastAPI是個現(xiàn)代化的,迅速(性能卓越)pythonweb架構。本文運用fastapi完成上傳圖片作用,文章中的實例編碼解讀詳盡,所需要的可以了解一下


  應用File完成文件傳送


  應用Form表格上傳圖片,fastapi應用File獲得上傳文檔。


  特定了參數類型是bytes:file:bytes=File(),這時會把文件所有載入到內存條,較為適合靜態(tài)資源。


  應用File要提前組裝python-multipart


  from fastapi import FastAPI,File
  app=FastAPI()
  app.post("/files/")
  async def create_file(file:bytes=File()):
  return{"file_size":len(file)}


  只要在路徑操作函數中聲明了變量的類型是bytes且使用了File,則fastapi會將上傳文件的內容全部去讀到參數中。


  使用UploadFile實現(xiàn)文件上傳


  對于大文件,不適合將文件內容全部讀取到內存中,此時使用UploadFile


  from fastapi import FastAPI,UploadFile
  ap=FastAPI()
  app.post("/uploadfile/")
  async def create_upload_file(file:UploadFile):
  return{"filename":file.filename}


  和bytes對比,應用UploadFile有以下益處:


  不用使用File()做為途徑實際操作函數中參數初始值


  不把文件信息所有載入到運存中,反而是大批量載入一定數量的數據信息,邊寫邊存電腦硬盤。


  能夠獲取文件的數據庫。


  該類別的自變量能夠像文檔自變量相同實際操作。


  UploadFile的特性


  filename:種類是str,用于獲取文件的名稱,例如:myimage.png


  content_type:種類是str,用于獲得文件的類型,例如:image/png


  file:類文件對象,是個標準化的python文件對象


  除開這幾個元素屬性外,UploadFile也有3個async方式:


  write,將str或是bytes提到文檔中


  read:讀文件


  seek:移動光標


  close:關閉文件


  #獲取文件具體內容
  contents=awaitmyfile.read()

  設定上傳圖片是可供選擇的


  設置默認值是None就可以


  from typing import Union
  from fastapi import FastAPI,File,UploadFile
  app=FastAPI()
  app.post("/files/")
  async def create_file(file:Union[bytes,None]=File(default=None)):
  if not file:
  return{"message":"No file sent"}
  else:
  return{"file_size":len(file)}
  app.post("/uploadfile/")
  async def create_upload_file(file:Union[UploadFile,None]=None):
  if not file:
  return{"message":"No upload file sent"}
  else:
  return{"filename":file.filename}
  上傳多個文件
  參數的參數的類型是列表:列表元素是bytes或者UploadFile
  from typing import List
  from fastapi import FastAPI,File,UploadFile
  app=FastAPI()
  app.post("/files/")
  async def create_files(files:List[bytes]=File()):
  return{"file_sizes":[len(file)for file in files]}
  app.post("/uploadfiles/")
  async def create_upload_files(files:List[UploadFile]):
  return{"filenames":[file.filename for file in files]}


  知識要點填補


  1.FastAPI介紹


  FastAPI是啥


  FastAPI是個現(xiàn)代化的,迅速(性能卓越)pythonweb架構。根據標準化的python類別提醒,應用python3.6+搭建API的Web架構。


  FastAPI的主要特征如下所示:


  迅速:很高的特性,與NodeJS和Go相當(這一十分感謝Starlette和Pydantic),是速度最快的Python架構其一。


  迅速編號:將開發(fā)設計速率增強約200%到300%。


  更低的bug:降低大概40%的開發(fā)者人為因素造成錯誤。


  形象化:強悍的在線編輯器適用,調節(jié)時長較短。


  簡易:便于應用與學習。降低閱讀文章文本文檔的時間也。


  代碼簡潔:盡量避免編碼反復。每一個主要參數能夠申明好幾個作用,降低流程的bug。


  健碩:生產制造編碼會一鍵生成互動式文本文檔。


  根據規(guī)范:根據并徹底適配API的開放標準:OpenAPI和JSON方式。


  FastAPI立在巨人的肩膀:


  Starlette用以搭建Web構件。


  Pydantic用以數據信息一部分。


  自然環(huán)境提前準備


  組裝fastapi


  pipinstallfastapi


  對工作環(huán)境,還要1個ASGI網絡服務器,如Uvicorn或Hypercorn


  pipinstall"uvicorn[standard]"


  新手入門實例程序流程


  新建一個main.py,編寫如下程序:


  from fastapi import FastAPI
  app=FastAPI()
  app.get("/")
  def read_root():
  return{"Hello":"World"}
  app.get("/items/{item_id}")
  def read_item(item_id:int,q:str=None):
  return{"item_id":item_id,"q":q}

  運行程序:


  uvicorn main:app--reload
  INFO:Uvicorn running on http://127.0.0.1:8000(Press CTRL+C to quit)
  INFO:Started reloader process[28720]
  INFO:Started server process[28722]
  INFO:Waiting for application startup.
  INFO:Application startup complete.


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130280.html

相關文章

  • 秀的一批,那些你不得不知的 Python 殺手級框架

    摘要:那在屆有哪些被封神的庫呢,今天就給大家介紹十個堪稱殺手級別的工具包。總之,是一款非常強大且易用的網絡請求庫。地址最好用的框架。圖像處理,該庫是你的不二之選。 Pyt...

    zeyu 評論0 收藏0
  • 秀的一批,那些你不得不知的 Python 殺手級框架!

    摘要:那在屆有哪些被封神的庫呢,今天就給大家介紹十個堪稱殺手級別的工具包。該庫是在之上完善的,自此請求就變得異常的簡單,一行代碼即可搞定。這是最流行的網絡爬蟲框架庫,沒有之一。最好用的框架。圖像處理,該庫是你的不二之選。 文 |?豆豆 來源:Python 技術「ID: pythonall」 ...

    ninefive 評論0 收藏0
  • App 端自動化的最佳方案,完全解放雙手!

    摘要:前言大家好,我是安果之前寫過一篇文章,文中提出了一種方案,可以實現(xiàn)每天自動給微信群群發(fā)新聞早報如何利用爬蟲實現(xiàn)給微信群發(fā)新聞早報詳細但是對于很多人來說,首先編寫一款需要一定的移動端開發(fā)經驗,其次還需要另外編寫無障礙服務應用,如此顯得有一定難1. 前言大家好,我是安果!之前寫過一篇文章,文中提出了一種方案,可以實現(xiàn)每天自動給微信群群發(fā)新聞早報如何利用 Python 爬蟲實現(xiàn)給微信群發(fā)新聞早報?...

    番茄西紅柿 評論0 收藏2637
  • python 圖片在線轉字符畫預覽

    摘要:文章鏈接關于圖片轉字符畫,相信大家都不陌生,經常出現(xiàn)在個超有趣的項目中。今天我也來實踐這個有趣的項目,更進一步的是把這個功能做成一個在線的網站,直接上傳圖片生成字符畫,在線預覽可以讓更多的人來體驗。至此,生成字符畫的腳本完成了。 文章鏈接:https://mp.weixin.qq.com/s/yiFOmljhyalE8ssAgwo6Jw 關于python圖片轉字符畫,相信大家都不陌生...

    CarterLi 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<