上传下载文件

import io import os from urllib.parse import quote from flask import Flask, request, make_response import pandas as pd app = Flask(__name__) @app.route('/') def index(): return 'Hello World!' @app.route('/upload', methods=['GET', 'POST']) def upload_file(): file = request.files['file'] # 文件相关信息 form = request.form # 附带提交的表单相关信息 # # 读取(表格)文件流 # df = pd.read_excel(file) # 需要对应格式 filename = file.filename file_path = os.path.split(os.getcwd())[0] + f'/{filename}' file.save(file_path) # 存储文件至本地 return 'success' @app.route('/download', methods=['GET', 'POST']) def download_file(): # 转换为文件流 bio = io.BytesIO() writer = pd.ExcelWriter(bio, engine='openpyxl') # 还依赖了openpyxl df = pd.DataFrame() # 空测试文件 df.to_excel(writer, sheet_name='Sheet1') writer.save() bio.seek(0) file_output = bio.getvalue() resp = make_response(file_output) file_name = 'excel.xlsx' # 文件名 basename = os.path.basename(file_name) resp.headers["Content-Disposition"] = f"attachment; filename*=utf-8''{quote(basename.encode('utf-8'))}" # resp.headers["Content-Type"] = "text/csv" # .csv # resp.headers["Content-Type"] = "application/vnd.ms-excel" # .xls resp.headers["Content-Type"] = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" # .xlsx return resp if __name__ == '__main__': app.run(debug=True)

__EOF__

本文作者F___Q
本文链接https://www.cnblogs.com/FevolQ/p/16203915.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   F___Q  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示