2013-10-07 23 views
1

我使用Jersey上傳文件。 這是休息:上傳文件時400球衣的不良要求

@Path("/MyUpload") 
@POST 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Produces(MediaType.TEXT_PLAIN) 
public String MyUpload(@Context HttpServletRequest request, 
          @FormDataParam("file") InputStream uploadedInputStream, 
          @FormDataParam("file") FormDataContentDisposition fileInfo) { 


// here I’m handling the input stream 
… 
return 「Ok」; 
} 

當我發送大小爲10KB比多一個文件,我得到了這個方法400錯誤的請求。

任何想法?

我在tomcat7上用linux red hat 6.2運行我的應用程序。

謝謝..

+0

您是否在過去的2年中找到了解決方案? – Brain

+0

是的,我已經將jersey-multipart-config.properties添加到具有bufferThreshold = 1024的classes文件夾中 – OriWei

回答

1

的一個問題是,您使用的是相同的名稱file取兩者的要求multipart PARAMS。您需要使用multipart params的不同名稱來區分這兩個部分。

+0

這並不能解釋如果文件較小,實際上可以上傳的10KB文件限制。 – Brain

+0

我已經很晚了,但是想指出'file' *的名字必須是相同的:不同之處在於參數類型,這樣'fileInfo'可以正確地接收與' uploadedInputStream'。 – watery

0

我的解決方案是:將bug的新澤西庫從版本1.13(或更低版本)更改爲最新版本。 1.17和1.19爲我工作。