直接利用文件传输 时间在10毫秒以内
1、客户端代码
#coding:utf-8
import requests
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.text
print result
2、服务端代码
#coding:utf-8
from flask import request, Flask
import time
import os
app = Flask(__name__)
@app.route("/", methods=['POST'])
def get_frame():
start_time = time.time()
upload_file = request.files['file']
old_file_name = upload_file.filename
if upload_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_time
print('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错误如下所示:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>The browser (or proxy) sent a request that this server could not understand.</p>
搞了很久都还没有解决,各位大佬有没有遇到过这个问题啊