Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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 REST Web服务特定路径文件上载_Java_Web Services_Rest_Mule - Fatal编程技术网

Java REST Web服务特定路径文件上载

Java REST Web服务特定路径文件上载,java,web-services,rest,mule,Java,Web Services,Rest,Mule,我正在构建一个应用程序流,客户端将文件上传到RESTful web服务,该服务将文件保存到默认的预定义位置 REST资源的Java代码: @Path("/file") public class UploadFile { @POST @Path("/upload") @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFile( @FormDataParam("fil

我正在构建一个应用程序流,客户端将文件上传到RESTful web服务,该服务将文件保存到默认的预定义位置

REST资源的Java代码:

@Path("/file")
public class UploadFile {

    @POST
    @Path("/upload")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response uploadFile(
            @FormDataParam("file") InputStream uploadedInputStream,
            @FormDataParam("file") FormDataContentDisposition fileDetail) {

        String uploadedFileLocation = "D:/uploaded/" + fileDetail.getFileName();

        // save
        writeToFile(uploadedInputStream, uploadedFileLocation);

        // ...
    }
}
客户端的代码是:

 <form action="http://localhost:8080/file/upload" method="post" enctype="multipart/form-data">
    <p>Select a file : <input type="file" name="file" size="50" /></p>
    <input type="submit" value="Upload" />
</form>

选择一个文件:


这对我来说很好,但现在我想对其进行编码,以便客户机可以决定文件保存的位置。如何将此位置从客户端传递到REST服务?要接收参数,我们将使用GET方法,但在REST服务中调用POST方法,因此如何执行此操作?

表单中添加另一个
输入
,以包含位置信息并作为额外的
@FormDataParam
接收


当然,严格验证位置,否则会带来重大安全风险。我个人很想尝试搞乱
/etc/passwd
:)

表单中添加另一个
输入
,以包含位置信息并作为额外的
@FormDataParam
接收

当然,严格验证位置,否则会带来重大安全风险。我个人很想尝试去搞乱
/etc/passwd
:)