Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用org.jboss.resteasy.client.ClientRequest上传多部分文件?_Java_File Upload_Jboss_Resteasy - Fatal编程技术网

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

Java 如何使用org.jboss.resteasy.client.ClientRequest上传多部分文件?,java,file-upload,jboss,resteasy,Java,File Upload,Jboss,Resteasy,我需要维护一个遗留软件。如何使用org.jboss.resteasy.client.ClientRequest上传文件org.springframework.web.multipart.MultipartFile 简言之,我希望实现: curl-X POSThttp://mydomain/upload?sender=mr_abc -F file=@${file}使用ClientRequest。 ${FILE}可以是任何字符串路径文件,例如:/Users/mr_abc/mytarfile.tar

我需要维护一个遗留软件。如何使用
org.jboss.resteasy.client.ClientRequest
上传文件
org.springframework.web.multipart.MultipartFile

简言之,我希望实现:
curl-X POSThttp://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);
request=newclientrequest(“http://mydomain/upload");
请求标题(“内容类型”、“多部分/表单数据”);
请求。查询参数(“发送方”、“abc先生”);
request.queryParameter(“文件”,新文件(“/Users/mr_abc/mytarfile.tar”);
ClientResponse-response=request.post(String.class);
这导致了错误
所需的请求部分“文件”不存在

部分文件部分=request.getPart(“文件”);//检索
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.
字符串文件名=路径.get(filePart.getSubmittedFileName()).getFileName().toString();//MSIE修复程序。 InputStream uploadedInputStream=filePart.getInputStream(); 尝试上面的代码来解析请求并提取文件内容。
我们需要添加:

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

没有
request.getPart(String)
方法。您应该为它添加依赖项
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);