(1)方法一、直接用a標簽的href+數據庫中文件地址,即可下載。缺點:word excel是直接彈框下載,對于image txt 等文件的下載方式是直接在新頁面打開。
(2)方法二、在python后臺對下載內容進項處理,返回內容直接彈出下載框。
#后臺處理函數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)前臺使用函數方法
①、a標簽調用函數傳入路徑<a href='/downloadFile/url=路徑'>
②、button標簽調用jq方法調用后臺函數
<input type='button' class='download'>
#下載按鈕點擊事件 $("body").on("click",".download",function(){3 location.href="/downloadFile/?url="+路徑; });