错误上传文件HTTP Client& RESTful服务器

时间:2013-10-22 11:32:55

标签: rest file-upload apache-httpclient-4.x

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

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

HTTP错误500 访问/文件/上传时出现问题。原因:    Server ErrorCaused by:java.lang.NullPointerException     在com.nice.rest.UploadFileService.uploadFile(UploadFileService.java:33)

...

第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://X.X.X.X:8080 / file / upload”method =“post”enctype =“multipart / form-data”

怎么了?

谢谢!

1 个答案:

答案 0 :(得分:0)

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

看起来你正在寻找的部分不存在因此NullPointerException。

如果可能,请发布客户代码,说明如何构建多部分实体