为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 org.jboss.resteasy.client.ClientRequest

如何使用 org.jboss.resteasy.client.ClientRequest

婷婷同学_ 2022-08-17 10:35:51
我需要维护一个旧版软件。我们如何上传文件?org.jboss.resteasy.client.ClientRequestorg.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);这导致错误Required request part 'file' is not present
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

我们需要添加:


<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);


查看完整回答
反对 回复 2022-08-17
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

Part filePart = request.getPart("file"); // Retrieves <input type="file" name="file">String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString(); // MSIE fix.InputStream uploadedInputStream = filePart.getInputStream();

Try above code to parse request and extract file contents.


查看完整回答
反对 回复 2022-08-17
  • 2 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号