首页 > 其他分享 >Django FileResponse下载文件

Django FileResponse下载文件

时间:2022-11-01 17:14:07浏览次数:42  
标签:文件 Django attachment file path open 下载 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=TrueContent-Disposition 头被设置为 attachment,要求浏览器将文件作为下载文件提供给用户。否则,只有在有文件名的情况下,才会设置值为 inlineContent-Disposition 头(浏览器默认)。

如果 open_file 没有名字,或者 open_file 的名字不合适,可以使用 filename 参数提供一个自定义的文件名。请注意,如果你传递了一个类似文件的对象,比如 io.BytesIO,你的任务是在把它传递给 FileResponse 之前 seek()

如果用postman测试的话,点击如下按钮

image

如果上面代码有问题可以使用下面的例子
image

标签:文件,Django,attachment,file,path,open,下载,FileResponse
From: https://www.cnblogs.com/zonghan/p/16848343.html

相关文章

  • IDEA下载与安装,保姆级教程
    (这里写自定义目录标题)1.搜索idea2.选择官方网站以前idea的官网后面有官网俩字,现在没有了,你可以看他的具体网址,因为idea是==Jetbrains==公司的产品,找到这个域名的指定......
  • DJango + Vue 跨域问题解决
    什么是跨域同源:协议+域名+端口号,三者完全相同以上三个元素只要有一个不相同就是跨域产生跨域异常的报错信息如下:accesstoxmlhttprequestat'http://ip:port1/a......
  • 如何在接口中下载PDF
    Py文件importtimeimportrequestsurl="http://static.cninfo.com.cn/finalpage/2021-04-17/1209711009.PDF"results=requests.post(req_url,json=yaml_case['bo......
  • 如何用小黄鸟(HttpCanary)下载微信视频号的直播回放?
    目前微信视频号直播只在手机端才会显是,PC端不会显示,为此我们需要手机端抓包工具进行抓包,找到直播回放的的m3u8地址,用相应的工具下载即可。 下面开始教学: 第一步:下载......
  • Rust依赖下载慢+Blocking
    覆盖默认的镜像地址~~直接使用新注册服务来替代默认的~~crates.io。在$HOME/.cargo/config.toml添加以下内容:[source.crates-io]replace-with='ustc'[source.us......
  • Shell实现FTP下载文件,并保存执行日志
    分享知识 传递快乐 这篇文章是 ​​Linux实现FTP上传下载​​ 的续篇文章,关于FTP具体语法使用,请参考《​​Linux实现FTP上传下载​​》。FTP下载文件并保存执行日志#!/......
  • 【Python】django
    安装虚拟环境windowsmkvirtualenv-pC:\Users\Administrator\AppData\Local\Programs\Python\Python38\Python.exedjango_testlinuxmkvirtualenv-ppython3django......
  • Multisim14数据库下载
    Multisim14访问主数据库失败的解决方法。点击下载访问密码:2077将文件解压到C盘,合并文件夹。数据库应该是通用的,其他版本也可以试试。......
  • Keil历史版本的几种下载方法
    Keil历史版本的几种下载方法MDKlegacyC51keil简单介绍官网正规步骤下载网址直接下载1.KeilMDK有规律的下载地址2.KeilC51有规律的下载地址3.KeilC251有规律的下载地址4......
  • 【Jlink】J-Link Commander 命令行脚本使用例子 下载烧录 芯片解锁 芯片加锁
    下载烧录:创建download.bat,将下面内容放入,并根据实际情况填写JLink.exe路径、设备名称setPATH=D:/Keil_v5/Arm/Segger/;JLink.exe-autoconnect1-deviceCX32L003-ifsw......