直接利用文件传输 时间在10毫秒以内
1、客户端代码
#coding:utf-8
importrequests
url= "xxxxx"str000='/home/aqonvs.jpg'newname= str000.split('/')print newname[len(newname)-1]
files= {'file':(newname,open('/home/aqonvs.jpg','rb'),'image/jpg')}
r= requests.post(url,files =files)
result=r.textprint result
2、服务端代码
#coding:utf-8
from flask importrequest, Flaskimporttimeimportos
app= Flask(__name__)
@app.route("/", methods=['POST'])defget_frame():
start_time=time.time()
upload_file= request.files['file']
old_file_name=upload_file.filenameifupload_file:
file_path= os.path.join('/home/local/upload/', old_file_name)
upload_file.save(file_path)print "success"
print('file saved to %s' %file_path)
duration= time.time() -start_timeprint('duration:[%.0fms]' % (duration*1000))return 'success'
else:return 'failed'
if __name__ == "__main__":
app.run("127.0.0.1", port=5000)
此方法确实很快啊,比base64位格式快很多。我在自己Win10电脑上部署了服务端,本机电脑和其他电脑都可以访问,能快速传图片。但是我把同样的服务端程序部署到Ubuntu16.04服务器上,服务器和其他电脑访问都出错,出现400错误如下所示:
400 Bad RequestBad Request
The browser (or proxy) sent a request that this server could not understand.
搞了很久都还没有解决,各位大佬有没有遇到过这个问题啊
原文来自qilibin博主的,链接:https://www.cnblogs.com/cnugis/p/8093246.html#undefined