2013-05-29 99 views
0

我從一個weboage返回一個Excel .xls文件,如:Django,將文件附件返回爲HttpResponse,我可以獲取文件大小嗎?

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()

回答

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

+0

謝謝,詹姆斯。你指出我正確的方向。我不得不保存'sys.getsizeof(xls_response.content)'出於某種原因,對象的大小不是它的內容的全部大小,而是'HttpResonse.content'。乾杯! – Furbeenator

相關問題