• 网传上海限购政策松绑 市房管局目前调控政策并无变化 2019-04-23
  • 新疆坚决打好污染防治攻坚战 2019-04-23
  • 景德镇一道路泥泞坑洼找不到东家 区住建局牵头改造 现已完工 2019-04-20
  • 【春到渭南】随手拍渭南各地区春景,一贴看尽渭南春色! 2019-04-18
  • 新能源汽车纳入蚌埠市级政府集中采购目录 2019-04-17
  • 马克思的每个人全面而自由发展,是人的最高需求层次理论。 2019-04-13
  • 习近平:在2018年春节团拜会上的讲话 2019-04-13
  • 陕煤集团多家分公司5月煤炭铁路装运量创历史新高 2019-03-25
  • 中国公民可72小时免签停留俄大城市?中俄正在协商 2019-03-21
  • 就是,适可而止,太多就太假了。[哈哈] 2019-03-21
  • 海螺集团党委组织召开今年第五次中心组学习会 2019-03-17
  • 哈洽会华南城分会场暨俄罗斯风情文化节启幕 2019-03-17
  • 什么是幸福 ——“幸福死了”与“健康长寿” 2019-03-08
  • 高级需求不是物质需求,而是精神需求。你可能理解不了,为什么方志敏们面对高官,厚禄的诱惑而其志不改。 2019-03-08
  • 让办证群众跑十几趟 宁都这黄所长“黄”了 2019-03-05
  • 本人使用django1.11.16做了一个在线相册系统,现在想下载选中图片,想要打包下载,打包成zip供别人下载 但是看了网上的帖子很是郁闷。

    海盗老哥 发布于 2018/11/14 21:49
    阅读 69
    收藏 0

    广东十一选五推荐号 www.qhysp.com 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)

    27     for index in range(10):

    28         filename = __file__ # Select your files here.                          

    29         archive.write(filename, 'file%d.txt' % index)

    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

    这里边我真是不懂archive.write(filename, 'file%d.txt' % index)为什么要加txt这句。

    另外我运行就报错说是I/O调用关闭文件。求大神解答

    加载中
    0
    bobo2cj
    bobo2cj
    两个思路,不保存zip文件用base64流返回;保存zip文件用文件stream返回后删文件;response都是一样的(搜http 文件返回);我不是大神。
    0
    wei2011
    wei2011

    archive.write(filename, 'file%d.txt' % index) 应该只是模拟打包10个文件而已,这个write的第一个参数应该是本地文件名,第二个应该是压缩包里的文件名,自己根据需要改一下就行了

    海盗老哥
    谢谢两位师傅,解决了
    返回顶部
    顶部
  • 网传上海限购政策松绑 市房管局目前调控政策并无变化 2019-04-23
  • 新疆坚决打好污染防治攻坚战 2019-04-23
  • 景德镇一道路泥泞坑洼找不到东家 区住建局牵头改造 现已完工 2019-04-20
  • 【春到渭南】随手拍渭南各地区春景,一贴看尽渭南春色! 2019-04-18
  • 新能源汽车纳入蚌埠市级政府集中采购目录 2019-04-17
  • 马克思的每个人全面而自由发展,是人的最高需求层次理论。 2019-04-13
  • 习近平:在2018年春节团拜会上的讲话 2019-04-13
  • 陕煤集团多家分公司5月煤炭铁路装运量创历史新高 2019-03-25
  • 中国公民可72小时免签停留俄大城市?中俄正在协商 2019-03-21
  • 就是,适可而止,太多就太假了。[哈哈] 2019-03-21
  • 海螺集团党委组织召开今年第五次中心组学习会 2019-03-17
  • 哈洽会华南城分会场暨俄罗斯风情文化节启幕 2019-03-17
  • 什么是幸福 ——“幸福死了”与“健康长寿” 2019-03-08
  • 高级需求不是物质需求,而是精神需求。你可能理解不了,为什么方志敏们面对高官,厚禄的诱惑而其志不改。 2019-03-08
  • 让办证群众跑十几趟 宁都这黄所长“黄”了 2019-03-05