2013-10-22 32 views
0

我試圖創建一個HTTP客戶端上傳文件下面這個例子:http://java.dzone.com/articles/file-upload-apache-httpclient上傳文件時出錯HTTP客戶端和基於REST的服務器

當我運行的文件上傳我的RESTful服務的應用程序,我得到:

HTTP錯誤500 訪問/文件/上傳問題。原因: 服務器ErrorCaused方式:顯示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

負責上傳文件到您的REST服務代碼過去。它接近請求體中沒有'file'參數。 – ragnor

回答

0

當您構建多部分實體時,請確保@FormDataParam註釋值包含多部分內部件的名稱。

它看起來像你正在尋找的部分不存在,因此NullPointerException。

請發表您的客戶端代碼如果可能的話您展示如何構建多部分實體

相關問題