最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flask框架編寫文件下載接口過程講解

 更新時(shí)間:2023年01月03日 15:34:42   作者:袖子味  
這篇文章主要介紹了Flask框架編寫文件下載接口的過程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧

方式一

@app.route("/download1")
def download():
    # return send_file('test.exe', as_attachment=True)
    return send_file('2.jpg')
    # return send_file('1.mp3')

如果不加as_attachment參數(shù),則會(huì)向?yàn)g覽器發(fā)送文件,比如發(fā)送一張圖片:

發(fā)送mp3

加上as_attachment參數(shù),則會(huì)下載文件。

方式二

通過Response來實(shí)現(xiàn)

部分代碼如下:

@app.route("/download2")
def download2():
    file_name = "1.jpg"
    #https://www.runoob.com/http/http-content-type.html
    response = Response(file_send(file_name), content_type='image/jpeg')
    response.headers["Content-disposition"] = f'attachment; filename={file_name}'
    return response

其中content-type要根據(jù)文件的具體類型來設(shè)置,具體參考如下常見的:

content-type(內(nèi)容類型),一般是指網(wǎng)頁中存在的 content-type,用于定義網(wǎng)絡(luò)文件的類型和網(wǎng)頁的編碼,決定瀏覽器將以什么形式、什么編碼讀取這個(gè)文件,content-type 標(biāo)頭告訴客戶端實(shí)際返回的內(nèi)容的內(nèi)容類型。

常見的媒體格式類型如下:

  • text/html : HTML格式
  • text/plain :純文本格式
  • text/xml : XML格式
  • image/gif :gif圖片格式
  • image/jpeg :jpg圖片格式
  • image/png:png圖片格式
  • application/xhtml+xml :XHTML格式
  • application/xml: XML數(shù)據(jù)格式
  • application/atom+xml :Atom XML聚合格式
  • application/json: JSON數(shù)據(jù)格式
  • application/pdf:pdf格式
  • application/msword : Word文檔格式
  • application/octet-stream : 二進(jìn)制流數(shù)據(jù)(如常見的文件下載)
  • application/x-www-form-urlencoded : 中默認(rèn)的encType,form表單數(shù)據(jù)被編碼為key/value格式發(fā)送到服務(wù)器(表單默認(rèn)的提交數(shù)據(jù)的格式)

完整代碼

app.py

from flask import Flask,send_file,Response
from flask_cors import CORS
app = Flask(__name__)
CORS(app,resources={r"/*": {"origins": "*"}},supports_credentials=True)
@app.route("/download1")
def download():
    # return send_file('test.exe', as_attachment=True)
    # return send_file('2.jpg')
    return send_file('1.mp3')
    # filefold file
    # return send_from_directory('./', 'test.exe', as_attachment=True)
# send big file
def file_send(file_path): 
    with open(file_path, 'rb') as f:
        while 1:
            data = f.read(20 * 1024 * 1024)  # per 20M
            if not data:
                break
            yield data
@app.route("/download2")
def download2():
    file_name = "1.jpg"
    response = Response(file_send(file_name), content_type='image/jpeg')
    response.headers["Content-disposition"] = f'attachment; filename={file_name}'
    return response
if __name__ == '__main__':
    app.config['JSON_AS_ASCII'] = False
    app.run(debug=True)

到此這篇關(guān)于Flask框架編寫文件下載接口過程講解的文章就介紹到這了,更多相關(guān)Flask文件下載內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中關(guān)于集合的介紹與常規(guī)操作解析

    Python中關(guān)于集合的介紹與常規(guī)操作解析

    Python除了List、Tuple、Dict等常用數(shù)據(jù)類型外,還有一種數(shù)據(jù)類型叫做集合(set),集合的最大特點(diǎn)是:集合里邊的元素是不可重復(fù)的并且集合內(nèi)的元素還是無序的
    2021-09-09
  • Python文本處理簡(jiǎn)單易懂方法解析

    Python文本處理簡(jiǎn)單易懂方法解析

    這篇文章主要介紹了Python文本處理簡(jiǎn)單易懂方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 四步教你學(xué)會(huì)打包一個(gè)新的Python模塊

    四步教你學(xué)會(huì)打包一個(gè)新的Python模塊

    當(dāng)你安裝應(yīng)用程序時(shí),通常是安裝一個(gè)軟件包,其中包含應(yīng)用程序的可執(zhí)行代碼和重要文件。在?Linux上,軟件一般被打包成RPM或DEB等格式,然而幾乎每天都有新的Python模塊發(fā)布,因此你很容易遇到一個(gè)尚未打包的Python模塊。本文教你四步打包一個(gè)新的Python模塊
    2022-09-09
  • 一文帶你手撕Python之散列類型

    一文帶你手撕Python之散列類型

    這篇文章主要介紹了Python字典的定義、操作方法和集合的基本概念,字典以鍵值對(duì)形式存儲(chǔ)數(shù)據(jù),可通過鍵訪問值,操作包括增刪改查等,集合是無序不重復(fù)的數(shù)據(jù)結(jié)構(gòu),適用于去重和集合運(yùn)算,需要的朋友可以參考下
    2024-09-09
  • Python中的函數(shù)作用域

    Python中的函數(shù)作用域

    在python中,一個(gè)函數(shù)就是一個(gè)作用域。這篇文章重點(diǎn)給大家介紹python中的函數(shù)作用域,感興趣的朋友一起看看吧
    2018-05-05
  • Python?Concurrent?Futures解鎖并行化編程的魔法示例

    Python?Concurrent?Futures解鎖并行化編程的魔法示例

    Python的concurrent.futures模塊為并行化編程提供了強(qiáng)大的工具,使得開發(fā)者能夠輕松地利用多核心和異步執(zhí)行的能力,本文將深入探討concurrent.futures的各個(gè)方面,從基礎(chǔ)概念到高級(jí)用法,為讀者提供全面的了解和實(shí)用的示例代碼
    2023-12-12
  • 使用Python正則表達(dá)式操作文本數(shù)據(jù)的方法

    使用Python正則表達(dá)式操作文本數(shù)據(jù)的方法

    這篇文章主要介紹了使用Python正則表達(dá)式操作文本數(shù)據(jù)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • Python數(shù)據(jù)結(jié)構(gòu)之雙向鏈表詳解

    Python數(shù)據(jù)結(jié)構(gòu)之雙向鏈表詳解

    單鏈表只有一個(gè)指向直接后繼的指針來表示結(jié)點(diǎn)間的邏輯關(guān)系,可以方便的從任一結(jié)點(diǎn)開始查找其后繼結(jié)點(diǎn),但要找前驅(qū)結(jié)點(diǎn)則比較困難,雙向鏈表是為了解決這一問題,使用兩個(gè)指針表示結(jié)點(diǎn)間的邏輯關(guān)系。本文將重點(diǎn)為大家介紹雙向鏈表的相關(guān)操作,需要的可以參考一下
    2022-01-01
  • Python入門_淺談字符串的分片與索引、字符串的方法

    Python入門_淺談字符串的分片與索引、字符串的方法

    下面小編就為大家?guī)硪黄狿ython入門_淺談字符串的分片與索引、字符串的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • 詳解如何使用Python隱藏圖像中的數(shù)據(jù)

    詳解如何使用Python隱藏圖像中的數(shù)據(jù)

    隱寫術(shù)是在任何文件中隱藏秘密數(shù)據(jù)的藝術(shù)。隱寫術(shù)的主要目的是隱藏任何文件中的預(yù)期信息,而不實(shí)際改變文件的外觀,即文件外觀看起來和以前一樣。本文將利用Python實(shí)現(xiàn)隱藏圖像中的數(shù)據(jù),需要的可以參考一下
    2022-02-02

最新評(píng)論

甘泉县| 体育| 格尔木市| 团风县| 临高县| 绥中县| 察隅县| 云林县| 庆安县| 岳阳县| 禹城市| 广昌县| 伊宁市| 宣恩县| 海丰县| 莱芜市| 策勒县| 辽阳市| 静宁县| 西城区| 哈密市| 镇雄县| 永兴县| 太仆寺旗| 榆树市| 蓬溪县| 竹溪县| 怀远县| 桑日县| 察哈| 康乐县| 宾阳县| 榆树市| 磐石市| 青龙| 离岛区| 双城市| 陈巴尔虎旗| 文水县| 抚松县| 齐河县|