【发布时间】:2013-10-31 06:05:47
【问题描述】:
我正在尝试创建一个 HTTP 客户端以按照以下示例上传文件:http://java.dzone.com/articles/file-upload-apache-httpclient
当我运行应用程序将文件上传到我的 RESTFul 服务时,我得到:
HTTP 错误 500 访问 /file/upload 时出现问题。原因: 服务器错误原因: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"
怎么了?
谢谢!!
【问题讨论】:
-
过去负责将文件上传到您的 REST 服务的代码。似乎请求正文中没有
file参数。
标签: rest file-upload apache-httpclient-4.x