【问题标题】:Django, returning file attachment as HttpResponse, can I get file size?Django,将文件附件作为HttpResponse返回,我可以获得文件大小吗?
【发布时间】:2013-05-29 21:27:28
【问题描述】:

我正在从网页返回一个 Excel .XLS 文件,例如:

xls_response = HttpResponse(mimetype='application/vnd.ms-excel')
xls_response['Content-Disposition'] = 'attachment; filename=funfile.xls'
.
.
<code to generate the file - already accomplished>
.
.
return xls_response

一切都很好,但我想在发送之前查看文件大小,以便显示上次下载时的文件大小。我已经有一个模型可以存储它,但我需要弄清楚如何在将文件返回给客户端之前从xls_response object 获取文件大小。除了二进制数据的len() 之外,有没有办法做到这一点?

【问题讨论】:

    标签: python django download filesize


    【解决方案1】:

    见下面的代码,记住 django 只是 python

    from sys
    
    sys.getsizeof(obj[, default]) #returns size of a python object.
    

    http://docs.python.org/2/library/sys.html#sys.getsizeof

    【讨论】:

    • 谢谢,詹姆斯。你为我指明了正确的方向。由于某种原因,我不得不保存sys.getsizeof(xls_response.content),对象的大小不是其内容的完整大小,但HttpResonse.content 是。干杯!
    猜你喜欢
    • 2023-03-20
    • 2011-02-02
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 2021-11-28
    • 2013-01-18
    相关资源
    最近更新 更多