使用RestTemplate(来自Rest客户端)时,如何在分段上传中设置文件的内容类型

RGR

我尝试上传的文件将始终是xml文件。我要将内容类型设置为application / xml,这是我的代码:

         MultiValueMap<String, Object parts = new LinkedMultiValueMap<String,
         Object(); parts.add("subject", "some info"); 
         ByteArrayResource xmlFile = new    ByteArrayResource(stringWithXMLcontent.getBytes("UTF-8")){
                 @Override
                 public String getFilename(){
                     return documentName;
                 }             
             };

     parts.add("attachment", xmlFile);

//sending the request using RestTemplate template;, the request is successfull 
String result = template.postForObject(getRestURI(), httpEntity,String.class);      
//but the content-type of file is 'application/octet-stream'

原始请求如下所示:

    Content-Type:
    multipart/form-data;boundary=gbTw7ZJbcdbHIeCRqdX81DVTFfA-oteHHEqgmlz
    User-Agent: Java/1.7.0_67 Host: some.host Connection: keep-alive
    Content-Length: 202866

    --gbTw7ZJbcdbHIeCRqdX81DVTFfA-oteHHEqgmlz Content-Disposition: form-data;    name="subject" Content-Type: text/plain;charset=ISO-8859-1
    Content-Length: 19

    some info

    --gbTw7ZJbcdbHIeCRqdX81DVTFfA-oteHHEqgmlz Content-Disposition: form-data;   name="attachment"; filename="filename.xml" Content-Type:
    application/octet-stream Content-Length: 201402

    ....xml file contents here ..

文件的内容类型将生成为“ application / octet-stream”,其中我希望它为“ application / xml”。如何设置文件的内容类型?

RGR

在从此链接获取提示后,我想出了解决方案:

使用Spring压缩jpeg字节数组进行多部分发布请求

解决方案是将ByteArrayResource放入具有必需标头的HttpEntity中,然后将HttpEntity添加到Multivaluemap中(而不是添加ByteArrayResource本身。)

代码:

Resource xmlFile = new ByteArrayResource(stringWithXMLcontent.getBytes("UTF-8")){
            @Override
            public String getFilename(){
                return documentName;
            }
        };
        HttpHeaders xmlHeaders = new HttpHeaders();
        xmlHeaders.setContentType(MediaType.APPLICATION_XML);
        HttpEntity<Resource> xmlEntity = new HttpEntity<Resource>(xmlFile, xmlHeaders);
        parts.add("attachment", xmlEntity);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

信任文件上传中的“内容类型”

来自分类Dev

如何使用JAX-RS标准客户端API处理来自Web服务的错误JSON内容类型?

来自分类Dev

使用签名的URL从客户端上传文件时,如何设置S3 putObject选项

来自分类Dev

使用SMTP客户端时如何设置传送格式?

来自分类Dev

如何限制分段文件上传中的文件大小?

来自分类Dev

使用Android HTTP客户端将文件上传到REST api服务器

来自分类Dev

如何使用servicestack类型的客户端?

来自分类Dev

如何在asp.net多个文件上传中设置文件上传的数量限制?

来自分类Dev

使用cfs文件系统上传客户端文件

来自分类Dev

我如何在客户端将可见文件上传到Amazon S3?

来自分类Dev

使用发送时,jQuery文件上传未调整图像客户端的大小

来自分类Dev

如何上传客户端文件到服务器?

来自分类Dev

使用javascript编辑上传的文件客户端

来自分类Dev

使用生成的客户端代码无法上传文件

来自分类Dev

使用javascript编辑上传的文件客户端

来自分类Dev

如何使用jQuery文件上传来调整图像客户端的大小

来自分类Dev

如何使用节点客户端库上传不同名称的本地文件?

来自分类Dev

使用Spring-MVC时如何查看来自客户端的json?

来自分类Dev

如何在joomla文件上传中更改受支持的文件类型

来自分类Dev

泽西岛2分段上传客户端

来自分类Dev

使用Web HDFS REST客户端上载jar文件的“内容类型”

来自分类Dev

如何通过RestTemplate客户端和服务器将图像上传到Server()

来自分类Dev

FTP客户端如何在服务器上设置文件权限?

来自分类Dev

如何在ssh客户端PC中设置指定的ssh日志文件?

来自分类Dev

如何在代码点火器中的文件上传中设置验证规则

来自分类Dev

如何在Laravel中设置OpenID Connect客户端?

来自分类Dev

如何在Node.js的客户端设置令牌?

来自分类Dev

使用Java Rest客户端获取zip文件(restEasy)

来自分类Dev

Multer如何在文件过大时向客户端发送响应

Related 相关文章

  1. 1

    信任文件上传中的“内容类型”

  2. 2

    如何使用JAX-RS标准客户端API处理来自Web服务的错误JSON内容类型?

  3. 3

    使用签名的URL从客户端上传文件时,如何设置S3 putObject选项

  4. 4

    使用SMTP客户端时如何设置传送格式?

  5. 5

    如何限制分段文件上传中的文件大小?

  6. 6

    使用Android HTTP客户端将文件上传到REST api服务器

  7. 7

    如何使用servicestack类型的客户端?

  8. 8

    如何在asp.net多个文件上传中设置文件上传的数量限制?

  9. 9

    使用cfs文件系统上传客户端文件

  10. 10

    我如何在客户端将可见文件上传到Amazon S3?

  11. 11

    使用发送时,jQuery文件上传未调整图像客户端的大小

  12. 12

    如何上传客户端文件到服务器?

  13. 13

    使用javascript编辑上传的文件客户端

  14. 14

    使用生成的客户端代码无法上传文件

  15. 15

    使用javascript编辑上传的文件客户端

  16. 16

    如何使用jQuery文件上传来调整图像客户端的大小

  17. 17

    如何使用节点客户端库上传不同名称的本地文件?

  18. 18

    使用Spring-MVC时如何查看来自客户端的json?

  19. 19

    如何在joomla文件上传中更改受支持的文件类型

  20. 20

    泽西岛2分段上传客户端

  21. 21

    使用Web HDFS REST客户端上载jar文件的“内容类型”

  22. 22

    如何通过RestTemplate客户端和服务器将图像上传到Server()

  23. 23

    FTP客户端如何在服务器上设置文件权限?

  24. 24

    如何在ssh客户端PC中设置指定的ssh日志文件?

  25. 25

    如何在代码点火器中的文件上传中设置验证规则

  26. 26

    如何在Laravel中设置OpenID Connect客户端?

  27. 27

    如何在Node.js的客户端设置令牌?

  28. 28

    使用Java Rest客户端获取zip文件(restEasy)

  29. 29

    Multer如何在文件过大时向客户端发送响应

热门标签

归档