在服务器端,我使用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客户端库。

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

  1. ehcach文件报错_java - 分布式缓存-Terracotta和Ehcache-客户端错误:无法创建工具包 - 堆栈内存溢出...

    我正在使用ehcache(2.10.1)和terracotta(开源4.3.1)实现分布式缓存. 我在一台机器上尝试了两个JVM实例和一个terracotta服务器,并且代码按预期工作,没有错误. 现 ...

  2. python合并数组输出重复项_python - 不同数组项的所有可能组合[重复] - 堆栈内存溢出...

    您需要笛卡尔积 . >>> arrays = [ ... [[1, 2], [3, 4]], ... [[4, 5], [5, 6]], ... [[7, 8], [8, 9]], ...

  3. arcgis怎么用python重新排序_python - 根据排序数据添加新的顺序ID号(ArcGIS) - 堆栈内存溢出...

    我需要一行代码,它将根据我为数据规定的顺序发出新的顺序ID. 基本上,在按照我的喜好对数据进行排序后,原始的Object_Id对我来说不再是有意义的顺序. 在我的表中,我创建了一个新字段(短整数). ...

  4. python小波分解与重构_python - 使用pyWavelets进行多级局部小波重构 - 堆栈内存溢出...

    我设法编写了自己的wrcoef函数版本,该版本似乎可以正常工作: import pywt import numpy as np def wrcoef(X, coef_type, coeffs, wav ...

  5. 七牛云 php 服务器,本地文件上传到七牛云服务器示例(七牛云存储)

    # _*_ coding: utf-8 _*_ #--------------------------------------- # 程序:把本地文件上传到七牛云服务器 # 版本:0.1 # 作者:l ...

  6. 【转载】前端上传文件,python作为后端接收并保存到本地--Tornado上传文件--分片上传文件--更换pip下载源

    背景:在改造caffe自带demo时,增加了一个更新模型的功能,需要将用户训练好的caffemodel上传到服务器,并替换到已经存在的caffemodel文件,重新加载上传的caffemodel文件并 ...

  7. java上传文件到ftp_java实现文件上传下载至ftp服务器

    以前做的一个项目,用到了文件上传下载至ftp服务器,现在对其进行一下复习,比较简单,一下就能看明白. 环境:首先,先安装ftp服务器,我是在win8本地用IIS配置的, 百度一下就可以找到安装文档. ...

  8. AWS S3 Windows系统下的文件夹上传基于python

    AWS S3 上传文件,基于cmd命令行发现无法上传文件夹,只能上传单个文件,不知道是我能力不行还是什么原因,如果有大佬了解的可以在下面评论下! 一.环境配置 1.win10 X64: 2.awscl ...

  9. 怎么把手机文件导入华为云服务器,华为手机如何上传数据到云服务器

    华为手机如何上传数据到云服务器 内容精选 换一换 对象存储服务OBS是华为云提供的稳定.安全.高效.易用的云存储服务,具备标准Restful API接口,可存储任意数量和形式的非结构化数据.弹性文件服 ...

  10. 群晖传文件到服务器,文件上传到群晖服务器

    文件上传到群晖服务器 内容精选 换一换 监控数据上报功能可以将系统中采集到的监控数据写入到文本文件,并以FTP或SFTP的形式上传到指定的服务器中.使用该功能前,管理员需要在FusionInsight ...

最新文章

  1. ubuntu安装javahadoop
  2. 这几天有django和python做了一个多用户博客系统(可选择模板) 没完成,先分享下...
  3. asterisk for mipsel
  4. 【Flink】FlinkConsumer是如何保证一个partition对应一个thread的
  5. android的AIDL的调用
  6. Flask知识点查阅
  7. 200 300的完数 c语言,C语言求完数(完全数)(详解版)
  8. 3DEC离散元数值模拟技术与应用
  9. 暴风影音硬件加速播放高清影片
  10. android设置字体大小,Android中如何设置字体大小
  11. 报错 mysql 1194
  12. SQL练习题(一) 附答案
  13. Android 仿微信通讯录
  14. CRC-16 CCITT
  15. Dreamweaver cs3快捷键一览
  16. 纯干货!信贷行业电话销售员一定要掌握的电话沟通话术
  17. C语言中int、long等类型所占的字节数
  18. 知识付费直播使用https方法 教程
  19. 数字藏品如何实现版权保护
  20. 看了下面的关于大亚湾核电站的一些报道,我终于明白为什么老弟在惠阳买的房子会这么便宜了

热门文章

  1. 论文笔记_S2D.75_2021-CoRL_TANDEM_基于深度多视图立体视觉的实时跟踪和稠密建图
  2. 主干网络系列(1) -ResNet: Deep Residual Learning for Image Recognition
  3. 如何在 GitHub 上面精准搜索开源项目?
  4. 0-1背包问题——回溯法求解
  5. ubuntu 彻底卸载软件
  6. 《构建之法》阅读笔记1
  7. 关于用mybatis调用存储过程时的入参和出参的传递方法
  8. Python学习-9.Python函数定义
  9. 车间调度建模系列8|扩展析取图之基于时间片段的赋时三维析取图模型
  10. cvCloneImage()内存泄漏解决方法, cvCloneImage()和cvCopy()的区别