2014-02-12 49 views
0

我是JQuery文件上傳器的新手,我正在實現其中的一部分。當我選擇的JQuery文件上傳的圖像,調用轉至服務器端(SpringController),但API返回:在JQuery文件上傳器中獲取異常

406不可接受

這是我的呼叫服務器時:

$(this).fileupload({ 
     // Uncomment the following to send cross-domain cookies: 
     //xhrFields: {withCredentials: true}, 
     url: uploadSettings.upload_url, 
     type: 'POST', 
     maxNumberOfFiles: uploadSettings.maxNumberOfFiles, 
     maxFileSize: uploadSettings.maxFileSize, 
     acceptFileTypes: uploadSettings.fileSelection, 
     sequentialUploads: true, 
     paramName:'uploadfiles[]', 
     dataType: 'text' 
    }); 

和我的Java控制器代碼是:

@RequestMapping(value = { "/user/fileuploader" }, method = RequestMethod.POST, 
produces = "text/plain") 


@ResponseBody public String uploadFileHandler(
@RequestParam("uploadfiles[]") MultipartFile[] file, 
HttpServletRequest request, HttpServletResponse response) { 

有什麼建議?

+0

後端服務告知響應類型它返回在接受-Type HTTP頭在您的客戶端請求不提供:您可以複製我的代碼。參考:http://en.wikipedia.org/wiki/List_of_HTTP_header_fields 1.找出服務返回的響應(內容類型)2.在請求Accept頭中提供這個(內容類型)。 http://en.wikipedia.org/wiki/HTTP_status_code - > 406 –

+0

您的意思是需要用url描述content-type:'multipart/form-data'。和我從控制器返回的響應是我在數據中描述的文本/純文本:「文本」。和我的接受類型是「接受\t text/plain,*/*; q = 0.01」 –

回答

0

下面是一個使用非常相似的棧JHipster(我是這兩個項目的作者)的一個項目,並不會以相同的jQuery插件上傳:

https://github.com/ippontech/tatami/blob/master/src/main/java/fr/ippon/tatami/web/fileupload/FileController.java#L193

正如你所看到的我的返回對象是不同的。

https://github.com/ippontech/tatami/tree/master/src/main/java/fr/ippon/tatami/web/fileupload

+1

感謝您的答覆..但我使用.html頁面,所以我無法使用jstl標記。 –

+0

頁面轉到404頁。你有新的url嗎? – tibi

+0

原創:https://github.com/ippontech/tatami/blob/90fdbfc474dca03ede431460237a80f8e442cbe3/web/src/main/java/fr/ippon/tatami/web/fileupload/FileController.java#L193 – Aleris

相關問題