Java 如何在cURL命令中执行POST以上载文件

Java 如何在cURL命令中执行POST以上载文件,java,web-services,rest,unix,curl,Java,Web Services,Rest,Unix,Curl,我通过web使用RestFul服务器上传一个文件,并将我选择的字段复制到一个文件夹中,但当我试图通过命令cUrl not run使用相同的方法时,我认为可能是语法问题,或者我如何将参数传递给该方法 方法如下: @POST @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFile( @FormDataParam("file") InputStream uploadedInputStream,

我通过web使用RestFul服务器上传一个文件,并将我选择的字段复制到一个文件夹中,但当我试图通过命令cUrl not run使用相同的方法时,我认为可能是语法问题,或者我如何将参数传递给该方法

方法如下:

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

    logger.debug(message);
    String uploadedFileLocation = C_HOME_TEST + fileDetail.getFileName();

    // save it
    writeToFile(uploadedInputStream, uploadedFileLocation);
    String output = "File " + fileDetail.getFileName() + " uploaded to : " + uploadedFileLocation;
    saveInFile(fileDetail.getFileName());
    return Response.status(200).entity(output).build();
}
这是命令:

curl  --form "fileupload=@filename.png" http://localhost:8080/RESTfulExample/rest/file
如果我让这个类的GET连接起来没有任何问题。

这个命令是错误的

curl -X POST -F 'file=@apple.png' http://localhost:8080/RESTfulExample/rest/file
命令:

curl -H 'Content-Type: multipart/form-data' -v -F 'file=@/path/to/theFile' http://localhost:35681/api 
参数说明:

-H-头将自定义头传递给服务器 -v-冗长使操作更具说服力 -F-form指定多部分MIME数据
有关更多详细信息,您可以通过终端上的curl-help查看curl文档。

任何人都可以查看curl-help所有选项,但我将介绍所有操作