Heim > Backend-Entwicklung > Python-Tutorial > Python+django实现文件下载

Python+django实现文件下载

WBOY
Freigeben: 2016-06-10 15:06:35
Original
1467 Leute haben es durchsucht

(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

Nach dem Login kopieren

(3)前台使用函数方法

①、a标签调用函数传入路径

②、button标签调用jq方法调用后台函数

<input type='button' class='download'> 

Nach dem Login kopieren

 #下载按钮点击事件
 $("body").on("click",".download",function(){3   location.href="/downloadFile/&#63;url="+路径;
 });
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage