Django python download File
Views (檔案下載程式)
def download (request):
try:
file_path = os.path.join( ‘檔案的路徑’ , ’存在SERVICE端的名稱’)
f=open(file_path,'rb')
data=f.read() #開始讀寫檔案至data變數裡面
f.close()
# content_type有很多種,有強制下載轉乘PDF的、有ZIP的,我就用force-download
response = HttpResponse(data , content_type='application/force-download')
#要import urllib
#檔案原本名稱.encode("utf-8") 記得要換回檔案原本的名稱,轉成utf-8格式以免亂碼
#不是存在service端的檔案名稱唷!
response['Content-Disposition'] = 'attachment;filename=%s' %
urllib.quote( 檔案原本名稱.encode("utf-8") )
return response
except:
return HttpResponse('error to download file')
說明:
(1) os.path.join 可以import os 這個模組(module)
(2) 抓到檔案後,將檔案讀寫(rb)至另一個檔案上面
讀寫好的檔案讓使用者下載。
(3)下載出來的格式可以用content_type變數設定。
沒有留言:
張貼留言