字节跳动-django实现**.zip包下载报错内存使用过大

问题描述

django实现**.zip包下载报错内存使用过大

django实现**.zip包下载报错内存使用过大
各位朋友们好:
我使用django的功能想实现下载一个大的**.zip包的功能,该包大小差不多1个G
网上查了一些方法:本来是准备用遍历文件目录逐个文件打包的,但是我需要打包的文件很多,用这个方法很慢,而且由于我里面有中文文件,遍历文件路径还会报错。因此我选择了,直接我先把所有文件打包到名叫test.zip中,希望用django实现直接下载test.zip包的功能,但是尝试了好几次,都报错:而且保存的原因提示是内存使用过大这种,我看了网上的大文件下载,用的就是下面这个方法:

 19.def send_zipfile(request):
20.    """
21.    Create a ZIP file on disk and transmit it in chunks of 8KB,
22.    without loading the whole file into memory. A similar approach can
23.    be used for large dynamic PDF files.
24.    """
25.    temp = tempfile.TemporaryFile()
26.    archive = zipfile.ZipFile(temp, 'w', zipfile.ZIP_DEFLATED)
28.     filename = “test.zip” # Select your files here.
29.    archive.write(filename)
30.    archive.close()
31.    wrapper = FileWrapper(temp)
32.    response = HttpResponse(wrapper, content_type='application/zip')
33.    response['Content-Disposition'] = 'attachment; filename=test.zip'
34.    response['Content-Length'] = temp.tell()
35.    temp.seek(0)
36.    return response

希望朋友们能指点一下我这段代码哪里不对,或者有相关直接用django下载zip包的代码也麻烦告知一下。
万分感谢了。

解决方案

先看下网络是否稳定,看看下载下来的数据是不完全还是根本没有下载。

时间: 2025-01-21 01:59:12

字节跳动-django实现**.zip包下载报错内存使用过大的相关文章

android 源文件 zip包下载.地址

android 源文件 zip包下载.   网络上面提供了 自己打包下载的 ..这个也太麻烦了吧..   有谁打包好了直接下载不久行了...   地址如下:   http://rgruet.free.fr/public/   点击 导入就可以了...     灰常简单...

linux下运行python导入包cx_oracle报错ELFCLASS32

问题描述 linux下运行python导入包cx_oracle报错ELFCLASS32 linux运行python导入oracle包报错ELFCLASS32,linux平台是64bit,python也是64bitcx_Oracle网上下载应该不区分多少位吧?问题:这个报错是如何解决?请用linux和python的大神进 解决方案 你要看下 cx_oracle 是不是支持2.6.6版本,有可能不支持. 解决方案二: 参考:http://www.educity.cn/wenda/288024.htm

android导入apache包之后,打开虚拟机APK报错,求各位大神,版主救命啊

问题描述 android导入apache包之后,打开虚拟机APK报错,求各位大神,版主救命啊 解决方案 噗,英语不好是个问题

java-关于下载方面的问题,下载报错

问题描述 关于下载方面的问题,下载报错 在电脑上下载没问题,但是手机下载就有问题了,后台报错. 2014-06-11 14:21:09,523-[http-bio-8080-exec-9]com.mitian.common.web.CustomExceptionHandler-1647121ERROR-handle error request info ip:118.26.228.171, url:/coupon/down/pass/206null ClientAbortException: j

ssh整合-spring整合hibernate做测试时没有报错,当三个整合时启动就报错啦,求大神指点!!

问题描述 spring整合hibernate做测试时没有报错,当三个整合时启动就报错啦,求大神指点!! 报的错误org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'ecsUnsigned' on target class [class $Proxy17] failed; nested exception is org.springframework.tran

在传智播客下了一个web项目,但是报错,请各位大神指教(初学java)

问题描述 在传智播客下了一个web项目,但是报错,请各位大神指教(初学java) log4j:WARN No appenders could be found for logger (com.mchange.v2.log.MLog). log4j:WARN Please initialize the log4j system properly. 2015-9-23 14:16:25 org.apache.catalina.core.StandardWrapperValve invoke 严重:

javaweb-Properties load报错 问题,求大神

问题描述 Properties load报错 问题,求大神 Properties报错,但是当我加入Sun JDK1.6时候就不报错了,为什么呢? 解决方案 感觉要加异常处理,不懂为什么 解决方案二: 加入sun JDK1.6包,就行了呢,为什么

java cmd报错!!求大神!

问题描述 java cmd报错!!求大神! 10C 该项目打包jar在cmd运行报错了.在idea工具下正常运行,请问什么原因啊!求大神指教!具体怎么解决啊!谢谢! 解决方案 activity -server.jar 包没导入吧,放到lib里边试试 解决方案二: 配置文件里面有东西没配置好 解决方案三: http://chenzhou123520.iteye.com/blog/1971322是不是这个原因?

图片-androidstudio 报错求方法。大神看一下吧

问题描述 androidstudio 报错求方法.大神看一下吧 androidstudio Plugin with id 'com.android.application求方法 解决方案 要下载相应插件,可以找下国内镜像.搜:Android国内镜像. 解决方案二: http://stackoverflow.com/questions/24795079/error1-0-plugin-with-id-com-android-application-not-found 解决方案三: 建议使用vpn去