作家
登录

Android用Retrofit 2实现多文件上传实战

作者: 来源: 2017-04-21 09:24:36 阅读 我要评论

下面具体来看看。

  1. from flask import Flask,request,send_from_directory,jsonify 
  2.  import os 
  3.  from werkzeug import secure_filename 
  4.  
  5. app = Flask(__name__) 
  6.  app.config['IMAGE_FOLDER'] = os.path.abspath('.')+'\\images\\' 
  7.  ALLOWED_EXTENSIONS=set(['png','jpg','jpeg','gif']) 
  8.  
  9. def allowed_file(filename): 
  10.  return '.' in filename and filename.rsplit('.',1)[1] in ALLOWED_EXTENSIONS 
  11.  
  12. @app.route('/upload',methods=['POST']) 
  13.  def upload_file(): 
  14.  if request.method=='POST'
  15.  for k in request.files: 
  16.  file = request.files[k] 
  17.  print(file) 
  18.  image_urls = [] 
  19.  if file and allowed_file(file.filename): 
  20.  filename=secure_filename(file.filename) 
  21.  file.save(os.path.join(app.config['IMAGE_FOLDER'],filename)) 
  22.  image_urls.append("images/%s"%filename) 
  23.  return jsonify({"code":1,"image_urls":image_urls}) 
  24.  
  25. #让文件映射拜访,不然默认只能拜访static文件夹中的文件 
  26.  @app.route("/images/<imgname>",methods=['GET']) 
  27.  def images(imgname): 
  28.  return send_from_directory(app.config['IMAGE_FOLDER'],imgname) 
  29.  
  30. if __name__ == "__main__"
  31.  
  32. # 检测 IMAGE_FOLDER 是否存在 
  33.  if not os.path.exists(app.config['IMAGE_FOLDER']): 
  34.  os.mkdir(app.config['IMAGE_FOLDER']) 
  35.  app.run("192.168.1.102",debug=True 

这里有一个小技能,写完Server端代码后可以应用Postman进行测试,测试成功后再进行客户端法度榜样开辟。

因为涉及文件的上传,笔者这里以图片为例进行上传实验,图片上传除了重头戏Retrofit之外,还须要选择图片,笔者这里推荐一个模仿微信的图片选择库 ImagePicker .

图片加载库笔者爱好应用Glide

  1. compile 

      推荐阅读

      让你的设计更加高效便捷的5款原型设计工具

    它是一款快速原型的设计软件,由美国加利福利亚的Balsamiq工作室推出,它真正抓住了原型设计的核心和均衡点-既能设计草图,又能较好地进入到日常平凡团队工作的流程和对象。它具有极其丰富>>>详细阅读


    本文标题:Android用Retrofit 2实现多文件上传实战

    地址:http://www.17bianji.com/lsqh/34876.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)