日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python flask 上传下载 api_python – 使用Flask上传和下载文件

發布時間:2023/12/2 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python flask 上传下载 api_python – 使用Flask上传和下载文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PythonAnywhere dev這里.這是一個關于Flask和Web開發的一個很好的問題,而不是我們的系統特定的,所以我會嘗試給出一個沒有任何特定的通用答案:-)

有一些事情我需要知道,給出一個明確的答案你的問題,所以我首先列出我所做的假設 – 如果我錯了任何一個,給我一個評論我會適當地更新答案.

>我假設你上傳的文件不是很大,可以適應一個合理的內存 – 比如說,小于一兆字節.

>我假設你已經編寫來從文本文件中生成CSV的程序是Python,而且它(或者更有可能是容易地改變為具有)一個需要一個字符串的函數包含文本文件的內容,并返回需要寫入CSV的內容.

如果兩者都是這樣,那么構建Flask應用程序的最佳方法就是處理Flask內的所有內容.代碼示例值得一千字,所以這里是一個簡單的一個,我放在一起,允許用戶上傳一個文本文件,通過一個稱為transform的函數(這是你的轉換程序中的函數將插入我的位置)在整個文件中替換=,并將結果發送回瀏覽器. There’s a live version of this app on PythonAnywhere here.

from flask import Flask, make_response, request

app = Flask(__name__)

def transform(text_file_contents):

return text_file_contents.replace("=", ",")

@app.route('/')

def form():

return """

Transform a file demo

"""

@app.route('/transform', methods=["POST"])

def transform_view():

file = request.files['data_file']

if not file:

return "No file"

file_contents = file.stream.read().decode("utf-8")

result = transform(file_contents)

response = make_response(result)

response.headers["Content-Disposition"] = "attachment; filename=result.csv"

return response

關于你的其他問題:

>模板:我沒有使用這個例子的模板,因為我想把它全部適合一個代碼.如果我正在做的正確,那么我將把窗體視圖生成的東西放入一個模板中,但這就是所有.

>你可以通過寫入文件來做到這一點 – 是的,可以使用我使用stream屬性的文件對象上的save(filename)方法來保存上傳的文件.但是如果您的文件很小(根據我上面的假設),那么在內存中處理它們可能更有意義,就像上面的代碼一樣.

我希望所有的幫助,如果你有任何問題,那么只需留下評論.

總結

以上是生活随笔為你收集整理的python flask 上传下载 api_python – 使用Flask上传和下载文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。