当前位置: 首页 > 知识库问答 >
问题:

Spring rest模板将大文件转发到另一个服务

陆啸
2023-03-14

我试图使用spring的resttemplate将一个大文件作为输入流转发给另一个服务。我已经跟帖了@artbristol在本专题中给出的答案:如何用RestTemplate转发大文件?

而且它看起来正在正确设置请求的主体(使用查尔斯普罗西抓取请求)。问题是我没有正确设置标头,因为我认为我需要将内容类型设置为多部分/ formdata,我通过在回调中添加以下内容来尝试:

request.getHeaders().setContentType(
                new MediaType("multipart", "form-data"));

但是在超文本传输协议头中,我仍然缺少边界,不知道如何设置,我确定我可能缺少一些其他设置。

共有2个答案

吉嘉珍
2023-03-14

看起来问题是我没有在spark类路径中包含htrace-core.jar的路径:spark-shell-driver-class-path/opt/cloud era/parcels/CDH/lib/h base/h base-server . jar:/opt/cloud era/parcels/CDH/lib/h base/h base-protocol . jar:/opt/cloud era/parcels/CDH/lib/h base/h base-Hadoop 2-compat . jar:/opt/cloud era/parcels/CDH/lib/h base/h base-client

似乎这是火花1.x的新功能

澹台志诚
2023-03-14

所以我能够解决这个问题。基本上,我需要创建一个Spring消息转换器,它将接收输入流并写入正文。我基本上还必须使用Form Message Converter来写出响应正文。

所以在restTemplate中,我调用了一个添加消息转换器来添加新的输入流消息转换器。在回调中,我创建了一个多值地图,它接收一个字符串和输入流,并将其包裹在一个HttpEntity周围。然后我创建了一个表单消息转换器的新实例,并调用write、传入请求和mutlivalue地图。

 类似资料:
  • “n”表示标记名称的名称,“v”表示标记的值 我应该在XSLT中指定什么?

  • 我有两个endpointapi,它们是/uploadand/redirect 我不知道为什么会发生这种情况。谢谢你的帮助。

  • 问题内容: 我有一个非常基本的模板(basic_template.html),并希望使用使用另一部分模板格式化的数据来填写。basic_template.html可能包含使用部分模板格式化的几件事。 我应该如何在views.py中构建代码? 我这样做的原因是稍后将使用Ajax填充。我这样做对吗? 问题答案: 你可以做: 另一个Django模板在哪里。在这里,你可以放入将用Ajax获得的HTML。

  • 我正在尝试使用spring rest模板POST w/自定义拦截器将一个大文件从一个微服务发布到另一个微服务,如下所示: (我是否使用SimpleClientHttpask estFactory或HttpComponentsClientHttpask estFactory没有区别) 添加拦截器会在调用getRequestFactory时创建一个新的侦听ClientHttPrequestFactor

  • 本文向大家介绍用php将文件上传到另一个php服务器,包括了用php将文件上传到另一个php服务器的使用技巧和注意事项,需要的朋友参考一下 fopen,fread和fwrite函数可用于打开文件流,读取数据流并将该数据分别写入文件。 文件资源不一定需要指向本地计算机本身上的某个位置。 以下是将文件从本地服务器传输到ftp服务器的示例- 该图像需要传输到FTP服务器。因此,服务器以写模式打开,并且图

  • 问题内容: 我有两个Java.io.File对象file1和file2。我想将内容从file1复制到file2。有没有一种标准的方法可以执行此操作,而无需创建必须读取文件1并写入文件2的方法 问题答案: 不,没有内置方法可以做到这一点。与您要完成的工作最接近的是from 的方法,如下所示: 并且不要忘记处理异常并在一个块中关闭所有内容。