この例に従って、ファイルをアップロードする 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行目は次のとおりです。
public class 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"
どうしたの?
ありがとう!!