首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >django下载zip文件格式的图片

django下载zip文件格式的图片
EN

Stack Overflow用户
提问于 2017-11-13 20:23:05
回答 1查看 1.1K关注 0票数 0

我在DJANGO框架中使用此代码可以让一些用户下载图片。此代码运行良好,每次按download某些用户时都会下载图像。

但此代码下载绝对图像我需要为任何用户下载压缩此图像。

代码语言:javascript
运行
复制
def download_image(request, id):
    product_image=MyModel.objects.get(pk=id)
    product_image_url = product_image.upload.url
    wrapper = FileWrapper(open(settings.MEDIA_ROOT+ product_image_url[6:], 'rb'))
    content_type = mimetypes.guess_type(product_image_url)[0]
    response = HttpResponse(wrapper, content_type=content_type)
    response['Content-Disposition'] = "attachment; filename=%s" % product_image_url
    return response

很容易改变这段代码下载图片为zip文件吗?

EN

回答 1

Stack Overflow用户

发布于 2017-11-13 21:12:41

尝试以下操作:

代码语言:javascript
运行
复制
def download_image(request, id):
    product_image=MyModel.objects.get(pk=id)
    product_image_url = product_image.upload.url

    image_path = settings.MEDIA_ROOT+ product_image_url[6:]
    image_name = 'whatevername.png'; # Get your file name here.

    with ZipFile('export.zip', 'w') as export_zip:
        export_zip.write(image_path, image_name)

    wrapper = FileWrapper(open('export.zip', 'rb'))
    content_type = 'application/zip'
    content_disposition = 'attachment; filename=export.zip'

    response = HttpResponse(wrapper, content_type=content_type)
    response['Content-Disposition'] = content_disposition
    return response
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47264298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档