gpt4 book ai didi

java - 如何使用 org.jboss.resteasy.client.ClientRequest 上传多部分文件?

转载 作者:行者123 更新时间:2023-11-30 05:43:38 25 4
gpt4 key购买 nike

我需要维护旧版软件。我们如何使用org.jboss.resteasy.client.ClientRequest上传文件org.springframework.web.multipart.MultipartFile

简而言之,我想实现:curl -X POST http://mydomain/upload?sender=mr_abc -F file=@${FILE} 使用 ClientRequest${FILE} 可以是任何文件作为字符串路径示例:/Users/mr_abc/mytarfile.tar

这是我所拥有的:

request = new ClientRequest("http://mydomain/upload");
request.header("Content-Type","multipart/form-data");
request.queryParameter("sender", "mr_abc");
request.queryParameter("file", new File("/Users/mr_abc/mytarfile.tar"));
ClientResponse<String> response = request.post(String.class);

这导致了错误所需的请求部分"file"不存在

最佳答案

我们需要添加:

<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-multipart-provider</artifactId>
<version>3.0.19.Final</version>
<scope>test</scope>
</dependency>

我之前尝试过版本 2.3.5.Final,但失败了,所以 3.0.19 似乎是一个更好的版本。并且在java代码中需要使用类MultiPartFormDataOutput

File file = new File("/Users/mr_abc/mytarfile.tar");
MultipartFormDataOutput upload = new MultipartFormDataOutput();
upload.addFormData("file", targetStream, MediaType.MULTIPART_FORM_DATA_TYPE, "mytarfile.tar");

request = new ClientRequest("http://mydomain/upload");

request.queryParameter("sender", "mr_abc");
request.body(MediaType.MULTIPART_FORM_DATA_TYPE, upload);
ClientResponse<String> response = request.post(String.class);


关于java - 如何使用 org.jboss.resteasy.client.ClientRequest 上传多部分文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55222280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com