利用Python进行图片发送与接收-- 包含客户端和服务器端代码
直接利用文件传输 时间在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>
搞了很久都还没有解决,各位大佬有没有遇到过这个问题啊
原文来自qilibin博主的,链接:https://www.cnblogs.com/cnugis/p/8093246.html#undefined
浙公网安备 33010602011771号