Python+django實現(xiàn)文件下載
(1)方法一、直接用a標(biāo)簽的href+數(shù)據(jù)庫中文件地址,即可下載。缺點:word excel是直接彈框下載,對于image txt 等文件的下載方式是直接在新頁面打開。
(2)方法二、在python后臺對下載內(nèi)容進(jìn)項處理,返回內(nèi)容直接彈出下載框。
#后臺處理函數(shù)
def downloadFile(req):
filename=basePath+req.GET['url']
def file_iterator(file_name, chunk_size=512):
with open(file_name) as f:
while True:
c = f.read(chunk_size)
if c:
yield c
else:
break
response = StreamingHttpResponse(file_iterator(filename))
response['Content-Type'] = 'application/octet-stream'
response['Content-Disposition'] = 'attachment;filename="{0}"'.format(filename)
return response
(3)前臺使用函數(shù)方法
①、a標(biāo)簽調(diào)用函數(shù)傳入路徑<a href='/downloadFile/url=路徑'>
②、button標(biāo)簽調(diào)用jq方法調(diào)用后臺函數(shù)
<input type='button' class='download'>
#下載按鈕點擊事件
$("body").on("click",".download",function(){3 location.href="/downloadFile/?url="+路徑;
});
相關(guān)文章
python 統(tǒng)計數(shù)組中元素出現(xiàn)次數(shù)并進(jìn)行排序的實例
今天小編就為大家分享一篇python 統(tǒng)計數(shù)組中元素出現(xiàn)次數(shù)并進(jìn)行排序的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Python 動態(tài)變量名定義與調(diào)用方法
這篇文章主要介紹了Python 動態(tài)變量名定義與調(diào)用方法,需要的朋友可以參考下2020-02-02
python?pycharm中使用opencv時沒有代碼自動補全提示的解決方案
我們在使用pycharm的時候總是很喜歡其強大的代碼提示功能,下面這篇文章主要給大家介紹了關(guān)于python?pycharm中使用opencv時沒有代碼自動補全提示的解決方案,需要的朋友可以參考下2022-09-09
Django實戰(zhàn)之用戶認(rèn)證(用戶登錄與注銷)
這篇文章主要介紹了Django實戰(zhàn)之用戶認(rèn)證(用戶登錄與注銷),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
Python實現(xiàn)提取JSON數(shù)據(jù)中的鍵值對并保存為.csv文件
這篇文章主要為大家詳細(xì)介紹了如何基于Python實現(xiàn)讀取JSON文件數(shù)據(jù),并將JSON文件中指定的鍵值對數(shù)據(jù)轉(zhuǎn)換為.csv格式文件,感興趣的小伙伴可以了解下2023-09-09
tensorflow實現(xiàn)將ckpt轉(zhuǎn)pb文件的方法
這篇文章主要介紹了tensorflow實現(xiàn)將ckpt轉(zhuǎn)pb文件的方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04

