下面具体来看看。
- from flask import Flask,request,send_from_directory,jsonify
- import os
- from werkzeug import secure_filename
- app = Flask(__name__)
- app.config['IMAGE_FOLDER'] = os.path.abspath('.')+'\\images\\'
- ALLOWED_EXTENSIONS=set(['png','jpg','jpeg','gif'])
- def allowed_file(filename):
- return '.' in filename and filename.rsplit('.',1)[1] in ALLOWED_EXTENSIONS
- @app.route('/upload',methods=['POST'])
- def upload_file():
- if request.method=='POST':
- for k in request.files:
- file = request.files[k]
- print(file)
- image_urls = []
- if file and allowed_file(file.filename):
- filename=secure_filename(file.filename)
- file.save(os.path.join(app.config['IMAGE_FOLDER'],filename))
- image_urls.append("images/%s"%filename)
- return jsonify({"code":1,"image_urls":image_urls})
- #让文件映射拜访,不然默认只能拜访static文件夹中的文件
- @app.route("/images/<imgname>",methods=['GET'])
- def images(imgname):
- return send_from_directory(app.config['IMAGE_FOLDER'],imgname)
- if __name__ == "__main__":
- # 检测 IMAGE_FOLDER 是否存在
- if not os.path.exists(app.config['IMAGE_FOLDER']):
- os.mkdir(app.config['IMAGE_FOLDER'])
- app.run("192.168.1.102",debug=True)
这里有一个小技能,写完Server端代码后可以应用Postman进行测试,测试成功后再进行客户端法度榜样开辟。
因为涉及文件的上传,笔者这里以图片为例进行上传实验,图片上传除了重头戏Retrofit之外,还须要选择图片,笔者这里推荐一个模仿微信的图片选择库 ImagePicker .
图片加载库笔者爱好应用Glide
- compile
推荐阅读
它是一款快速原型的设计软件,由美国加利福利亚的Balsamiq工作室推出,它真正抓住了原型设计的核心和均衡点-既能设计草图,又能较好地进入到日常平凡团队工作的流程和对象。它具有极其丰富>>>详细阅读
本文标题:Android用Retrofit 2实现多文件上传实战
地址:http://www.17bianji.com/lsqh/34876.html
1/2 1