今天给各位分享电影网站django源码分享的知识,其中也会对html电影网站模板源码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
最简单的下载方式:
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”,是设置显示的文件名。
至此,文件下载功能已实现。
好了,文章到此结束,希望可以帮助到大家。
