最近在利用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框架内容欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/10098/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料