flask服务器获取多个文件,python - OkHttp将带有名称的多个文件上传到Python Flask服务器 - 堆栈内存溢出...

在服务器端,我使用Python烧瓶:

from flask import Flask, request

app = Flask(__name__)

@app.route("/upload", methods=["POST"])

def upload():

print request.files

print request.form

return "200 ok"

if __name__ == '__main__':

app.run(port=5000)

Java测试代码块:

public void test_Upload() throws Exception{

MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");

MediaType MEDIA_TYPE_XO = MediaType.parse("image/png");

RequestBody requestBody = new MultipartBuilder()

.type(MultipartBuilder.FORM)

.addPart(

Headers.of("Content-Disposition", "form-data; name=\"title\""),

RequestBody.create(null, "Square Logo"))

.addPart(

Headers.of("Content-Disposition", "form-data; name=\"image\""),

RequestBody.create(MEDIA_TYPE_PNG, new File("/Users/lollipop/Downloads/ic_launch.png")))

.addPart(

Headers.of("Content-Disposition", "form-data; name=\"google\""),

RequestBody.create(MEDIA_TYPE_XO, new File("/Users/lollipop/Downloads/google-logo.png")))

.build();

Request request = new Request.Builder()

.url("http://localhost:5000/upload")

.post(requestBody)

.build();

Response resp = httpClient.newCall(request).execute();

System.out.println(resp.body().string());

}

我运行测试。 服务器端无法从request.forms读取文件

服务器输出:

ImmutableMultiDict([])

ImmutableMultiDict([('image', u'5 ...many data ... fffd'), ('google', u'5i\u ...many data ... fffd'),('title', u'Square Logo')])

为什么我的文件上传到request.form而不是request.files 。 并且所有二进制文件数据都被解析为unicode字符串。

接下来,我在Python请求中测试。 遵循代码:

resp = requests.post("http://localhost:5000/upload",

files={

"image": open("/Users/lollipop/Downloads/ic_launch.png", "rb"),

"title": open("/Users/lollipop/Downloads/ic_launch.png", "rb"),

"google": open("/Users/lollipop/Downloads/google-logo.png", "rb")

})

并且服务器端输出反转:

ImmutableMultiDict([('image', ), ('google', ), ('title', )])

ImmutableMultiDict([])

上传文件在request.files不在request.form ,这是我的预期结果。

所以。 如何使用OkHttp将文件上传到烧瓶服务器,并使用request.files进行检索。

更新

request是Flask requst。

from flask import request

请求是一个Python http客户端库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值