django讀取檔案返回前端下載
阿新 • • 發佈:2020-12-31
技術標籤:django
file_name = 'excel.xlsx'
response = FileResponse(open('templates/%s' % file_name, 'rb'))
response['Content-Type'] = 'text/xls'
response['Content-Disposition'] = 'attachment;filename="%s"' % file_name
return response
注意:開啟的檔案將自動關閉,因此請勿使用上下文管理器(with open)開啟它。當然也無需 close
在不知道會自動關閉前,手動關閉了,導致檔案無法下載,即使將檔案內容讀取出來寫入byteio中,使用python manage啟動專案可以下載,但是當配合nginx時就無法下載了。nginx會報錯
upstream prematurely closed connection while reading upstream