编程学习网 > 编程语言 > Python > Django框架怎么实现本地文件下载?(django框架下载文件的方法)
2022
09-22

Django框架怎么实现本地文件下载?(django框架下载文件的方法)

最近在利用Python进行后端开发。大家都知道,django框架是Python web开发中一个重要的框架,它功能强大,还自带成熟的ORM框架。今天就给大家分享一下Django框架怎么实现本地文件下载

最简单的下载方式:

django中最简单的下载方式

这种方式适合文件小的时候,若文件非常大,就很耗内存。

django中的HttpResponse对象是可以将迭代器作为参数传递,因此可以将上面的c替换成迭代器,这样就防止文件过大时下载失败的问题。

但在django中,更推荐使用StreamingHttpResponse对象,它将文件以流的形势发送给浏览器。

查看django框架源码比较HttpResponse和StreamingHttpResponse:

HttpResponse源码

streamingHttpResponse源码

源码中注释的很明确,httpResponse是将一个字符串作为内容返回。streamingHttpResponse是将内容以迭代器的形式返回给客户端。

因此,修改上面的代码,将读取文件写成迭代器,然后将这个迭代器作为参数传给streamingHttpResponse对象:

django实现文件下载功能

大家已经看到上面上面多了两行代码:

这个是定义文件流的格式类型,response['Content-Type'] = 'application/octet-stream',是二进制流数据(常用文件下载)

response['Content-Disposition'] = 'attachment;filename="xxx",是设置显示的文件名。

至此,文件下载功能已实现。

以上就是“Django框架怎么实现本地文件下载?(django框架下载文件的方法)”的详细内容,想要了解更多django框架内容欢迎持续关注编程学习

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取