python如何上传文件,Python 文件上传

  python如何上传文件,Python 文件上传

  本文章代码上传在码云上

  代码地址

  git @ gitee。com : danyujie/upanddown。吉特这里我们使用flask框架,简单实用

  目录结构:

  upandown/

  静态/

  css/

  js/

  jquery.min.js

  toastr.min.js

  模板/

  index.html

  测试。巴拉圭相关推荐: 《Python基础教程》

  首先我们需要一个页面在templates/index.html(这里使用form表单实现)

  !DOCTYPEhtml

  超文本标记语言

  头

  元字符集=UTF八国集团

  meta name= viewport content= width=device-width,initial-scale=1.0

  meta http-equiv= X-UA-Compatible content= ie=edge

  linkrel=样式表href=./static/css/toastr.min.css

  scriptsrc=./static/js/jquery。量滴js /脚本

  scriptsrc=./static/js/toastr。量滴js /脚本

  标题文档/标题

  /头

  身体

  form method= POST action=/upload enctype= multipart/form-data

  输入类型=文件名称=文件id=文件

  输入类型=提交值=上传

  a ref= /a

  /formhr

  (=国家统计局标准)国家标准局

  p;<olid="filelist">

  </ol>

  <script>

  functioncheckstatus(){

  if('{{status}}'=='OK'){

  toastr['success']("上传成功");

  }elseif('{{status}}'=='null'){

  toastr['error']("上传失败");

  }

  }

  functionget_list(){

  $.ajax({

  url:'/getlist',

  type:'GET',

  success:function(result){

  len_result=result.length;

  for(varx=0;x<len_result;x++){

  $("#filelist").append('<br><ahref=/download/'+result[x]+'>'+result[x]

  +'</a>');

  }

  alert(content_list);

  },

  error:function(){

  alert("失败");

  }

  });

  }

  checkstatus();

  get_list();

  </script>

  </body>

  </html>然后是后台接收

  test.py

  

#!/usr/bin/envpython

  #-*-coding:utf-8-*-

  fromflaskimportFlask,render_template,request,send_from_directory,jsonify,redirect

  importos

  #importsys

  #reload(sys)

  #sys.setdefaultencoding('utf-8')

  app=Flask(__name__)

  #ALLOWED_EXTENSTIONS=set(['png','jpg','jpeg','gif'])

  app.config['UPLOAD_FOLDER']=os.getcwd()

  download_floder=app.config['UPLOAD_FOLDER']+'/upload'

  defallow_file(filename):

  allow_list=['png','PNG','jpg','doc','docx','txt','pdf','PDF','xls','rar','exe','md','zip']

  a=filename.split('.')[1]

  ifainallow_list:

  returnTrue

  else:

  returnFalse

  @app.route('/main')

  defhome():

  returnrender_template('index.html')

  @app.route('/getlist')

  defgetlist():

  file_url_list=[]

  file_floder=app.config['UPLOAD_FOLDER']+'/upload'

  file_list=os.listdir(file_floder)

  forfilenameinfile_list:

  file_url=url_for('download',filename=filename)

  file_url_list.append(file_url)

  #printfile_list

  returnjsonify(file_list)

  @app.route('/download/<filename>')

  defdownload(filename):

  returnsend_from_directory(download_floder,filename,as_attachment=True)

  @app.route('/upload',methods=['POST','GET'])

  defupload():

  file=request.files['file']

  ifnotfile:

  returnrender_template('index.html',status='null')

  #printtype(file)

  ifallow_file(file.filename):

  file.save(os.path.join(app.config['UPLOAD_FOLDER']+'/upload/',file.filename))

  returnrender_template('index.html',status='OK')

  else:

  return'NO'

  if__name__=='__main__':

  app.run(debug=True,host='0.0.0.0')

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: