服务器端(flask)
@app.route('/api/v1.0/file/<string:filename>', methods = ['PUT'])
def upload(filename):
# TODO: 这里根据filename的后缀来决定使用wb,还是w
open("filename", "wb").write(request.data)
return jsonify({"length":request.content_length, "image":"/xx/%s"%filename}) # 这里简单的使用length进行校验(要求不高情况,没用md5)
客户端上传
import requests
r = requests.put("http://localhost:8000/api/v1.0/file/shop_20001.jpg",data=open("shop_20001.jpg", "rb").read())
print r.json()
# {u'image': u'/xx/shop_20001.jpg', u'length': 108583}
当然文件信息,如图片的宽和高,图片的类型等 放在 http头 里, 图片信息用 HEAD 方法获取