亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

生成文件以使用Django下載

生成文件以使用Django下載

慕妹3146593 2019-11-23 10:58:49
是否可以制作一個zip存檔并提供下載,但仍不將文件保存到硬盤驅動器?
查看完整描述

3 回答

?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

您將更高興創建一個臨時文件。這樣可以節省大量內存。當您同時有一個或兩個以上的用戶時,您會發現節省內存非常重要。


但是,您可以寫入StringIO對象。


>>> import zipfile

>>> import StringIO

>>> buffer= StringIO.StringIO()

>>> z= zipfile.ZipFile( buffer, "w" )

>>> z.write( "idletest" )

>>> z.close()

>>> len(buffer.getvalue())

778

“緩沖區”對象類似于具有778字節ZIP存檔的文件。


查看完整回答
反對 回復 2019-11-23
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

為什么不制作tar文件呢?像這樣:


def downloadLogs(req, dir):

    response = HttpResponse(content_type='application/x-gzip')

    response['Content-Disposition'] = 'attachment; filename=download.tar.gz'

    tarred = tarfile.open(fileobj=response, mode='w:gz')

    tarred.add(dir)

    tarred.close()


    return response


查看完整回答
反對 回復 2019-11-23
  • 3 回答
  • 0 關注
  • 791 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號