Java Jersey:FormDataContentDisposition的文件上载为null

Java Jersey:FormDataContentDisposition的文件上载为null,java,rest,jersey,Java,Rest,Jersey,我正在尝试使用Jersey实现文件上载,因此我遵循以下示例: 它与HTML页面配合得很好。现在,我将其应用于我的应用程序,下面是代码: public Response uploadFile( @FormDataParam("file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileDetail) throws IOException {

我正在尝试使用Jersey实现文件上载,因此我遵循以下示例: 它与HTML页面配合得很好。现在,我将其应用于我的应用程序,下面是代码:

  public Response uploadFile(
    @FormDataParam("file") InputStream uploadedInputStream,
    @FormDataParam("file") FormDataContentDisposition fileDetail)
    throws IOException {

Response.Status respStatus = Response.Status.OK;

if (fileDetail == null) {
    respStatus = Response.Status.INTERNAL_SERVER_ERROR;
} else {
    try {
    initPath();
    if (fileDetail.getSize() > OntoWebStudioUtil
        .getUploadFileLimit()) {
        respStatus = Response.Status.NOT_ACCEPTABLE;
        return Response.status(respStatus).build();
    }

    writeToFile(uploadedInputStream, tempDirectory);
    } catch (Exception e) {
    respStatus = Response.Status.INTERNAL_SERVER_ERROR;
    e.printStackTrace();
    }
}
return Response.status(respStatus).build();
}
但在debug视图中,一旦我上传了图片并按下send按钮,然后点击gethere,uploadedInputStream和fileDetail都是空的。所以我什么也做不了。。。 我是一个Servlet初学者,然后休息,所以请宽容


多谢各位

我找到了它不起作用的原因: 这是因为在FormDataParameter(“myForm”)后面选择的名称必须与在HTML表单中选择的名称相同(name=“myForm”)

所以

形式必须是这样的

    <form action=".../rest/fileupload" method="post" enctype="multipart/form-data">
   <p>
    Select a file : <input type="file" name="myForm"/>
   </p>
   <input type="submit" value="Upload It" />
</form>


选择一个文件:


希望它能帮助像我这样的初学者:)

请你也分享一下。。。html页面的一部分?你好,我找到了它不工作的原因。事实上,这是因为我的名字表单与FormDataParam(文件)不同。谢谢你的回答!很高兴听到你找到了。请您也发布您的解决方案作为答案,以帮助其他用户解决同样的问题?
    <form action=".../rest/fileupload" method="post" enctype="multipart/form-data">
   <p>
    Select a file : <input type="file" name="myForm"/>
   </p>
   <input type="submit" value="Upload It" />
</form>