我正在尝试按照此示例创建一个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”
怎么了?
谢谢!
答案 0 :(得分:0)
构建多部分实体时,请确保@FormDataParam注释值包含多部分中部件的名称。
看起来你正在寻找的部分不存在因此NullPointerException。
如果可能,请发布客户代码,说明如何构建多部分实体