Django FileResponse下载文件
django FileResponse下载文件
代码如下:
from django.http import FileResponse
def get(self, request, *args, **kwargs):
file_path = /Users/zonghan/Desktop/1.txt
return FileResponse(
open(file_path, "rb"), # 被下载文件的路径
filename=os.path.basename(file_path), # 文件名称
as_attachment=True
)
该文件会自动关闭,所以不要用上下文管理器打开它。
如果 as_attachment=True
,Content-Disposition
头被设置为 attachment
,要求浏览器将文件作为下载文件提供给用户。否则,只有在有文件名的情况下,才会设置值为 inline
的 Content-Disposition
头(浏览器默认)。
如果 open_file
没有名字,或者 open_file
的名字不合适,可以使用 filename
参数提供一个自定义的文件名。请注意,如果你传递了一个类似文件的对象,比如 io.BytesIO
,你的任务是在把它传递给 FileResponse
之前 seek(0)
to_zip.seek(0) # to_zip为BytesIO对象
return FileResponse(
to_zip, filename="yyy.zip", as_attachment=True
)
如果用postman测试的话,点击如下按钮
如果上面代码有问题可以使用下面的例子
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
2021-11-01 计算机的存储原理和编程语言的发展史
2021-11-01 pycharm的安装指导教程以及破解
2021-11-01 python解释器的安装指导教程