作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 requests
和 requests_toolbelt
将图像发送到云端,到目前为止我有类似的东西
import requests
import json
from requests_toolbelt import MultipartEncoder
m = MultipartEncoder(
fields={"user_name":"tom", "password":"tom", "method":"login",
"location":"landing", "cam_id":"c00001", "datetime":"hammaTime!"
,'image': ('filename', open('image.jpg', 'rb'))}
)
r = requests.post(url, data=m)
print r.text
到达服务器后,我如何取回可用的字典? toolbelt docs只显示如何发布,而不是如何在另一端处理它。有什么建议吗?
最佳答案
您可以在 HTTPbin 上看到一个 Flask 服务器的工作示例,它接受您尝试发布的 POST。 .如果您执行以下操作:
m = MultipartEncoder(fields=your_fields)
r = requests.post('https://httpbin.org/post', data=m, headers={'Content-Type': m.content_type})
print(r.json()['form'])
您会看到您帖子中的所有内容都应该在该词典中。
使用 HTTPBin 的源代码,您可以看到 form
部分是从 request.form
生成的。您可以使用它来检索其余数据。然后您可以使用 request.files
访问您要上传的图片。
示例 Flask 路由处理程序如下所示:
@app.route('/upload', methods=['POST'])
def upload_files():
resp = flask.make_response()
if authenticate_user(request.form):
request.files['image'].save('path/to/file.jpg')
resp.status_code = 204
else:
resp.status_code = 411
return resp
你应该阅读 Uploading Files文档虽然。在 Flask 中使用像这样的通用模式时,它的值(value)是无价的。
关于python - 将图像从 python 客户端上传到 flask 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22324947/
我是一名优秀的程序员,十分优秀!