0

我正在尝试创建一个 HTTP 客户端以按照以下示例上传文件:http: //java.dzone.com/articles/file-upload-apache-httpclient

当我运行应用程序将文件上传到我的 RESTFul 服务时,我得到:

HTTP ERROR 500 访问 /file/upload 时出现问题。原因:服务器错误导致:com.nice.rest.UploadFileService.uploadFile(UploadFileService.java:33) 处的 java.lang.NullPointerException

...

第 33 行是:

公共类 UploadFileService {

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

    //line 33:  String uploadedFileLocation = "/mnt/folder/"+ fileDetail.getFileName();
    System.out.println("uploadedFileLocation : "+uploadedFileLocation);


    // save it
    writeToFile(uploadedInputStream, uploadedFileLocation);

    String output = "200 OK<br />" + uploadedFileLocation;

    return Response.status(200).entity(output).build();

}

令人惊讶的是,当我使用 html 表单上传文件时,它工作正常:

form action="http://XXXX:8080/file/upload" method="post" enctype="multipart/form-data"

怎么了?

谢谢!!

4

1 回答 1

0

构建多部分实体时,请确保 @FormDataParam 注释值包含多部分中的部分名称。

看起来您要查找的部分不存在,因此出现 NullPointerException。

如果可能,请发布您的客户代码,展示您如何构建多部分实体

于 2013-10-23T10:41:08.657 回答