Python中文
首页
教程
问答
标签
搜索
登录
注册
函数创建内存中的zip文件并作为http响应返回
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在避免在磁盘上创建文件,这是我到目前为止得到的:</p> <pre><code>def get_zip(request): import zipfile, StringIO i = open('picture.jpg', 'rb').read() o = StringIO.StringIO() zf = zipfile.ZipFile(o, mode='w') zf.writestr('picture.jpg', i) zf.close() o.seek(0) response = HttpResponse(o.read()) o.close() response['Content-Type'] = 'application/octet-stream' response['Content-Disposition'] = "attachment; filename=\"picture.zip\"" return response </code></pre> <p>你认为优雅的Python够了吗?有更好的办法吗?</p> <p>谢谢!</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>对于<code>StringIO</code>,通常应该使用<code>o.getvalue()</code>来获得结果。另外,如果要将普通文件添加到zip文件中,可以使用<code>zf.write('picture.jpg')</code>。你不需要手动阅读它。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
使用Python创建一个非常大的二进制频率矩阵来运行协作过滤
4 回答
使用Python创建一张HTML网页,其中在不同颜色中重复n遍显示“Hello World”的方法
6 回答
使用Python创建一组唯一的值length L
9 回答
使用python创建不同表格的透视表
7 回答
使用python创建不和谐频道
2 回答
使用python创建不存在的多个文件夹
3 回答
使用python创建串行远程文件
9 回答
使用python创建交互式仪表板时出现问题
8 回答
使用python创建交互式绘图
2 回答
使用python创建交互式自动电子邮件
2 回答
使用Python创建价格列表
1 回答
使用python创建修改的txt文件
5 回答
使用Python创建全局变量,初始化后更改值
10 回答
使用Python创建关键字搜索词数组
5 回答
使用Python创建具有不均匀块大小/堆叠条形图的热图
8 回答
使用Python创建具有依赖于另一列的值的列
2 回答
使用Python创建具有多列的HTML表
10 回答
使用Python创建具有时间范围数据的等距数据帧
10 回答
使用Python创建具有特定顺序或属性的XML文件
5 回答
使用Python创建具有级联功能的搜索栏
9 回答