2011-02-07 25 views
0

我需要在Google AppEngine應用程序中使用Ajax將文件的內容發送到Spring webService。所以我用jquery ajaxFileUpload plugin在appengine中使用ajax上傳文件的問題

<form id="load_form" action="" enctype="multipart/form-data">  
    <input name="file" type="file" id="upload_files" value="Browse"/> 
    <input type="button"" id="upload_file" value="Load file"/> 
</form> 

的JavaScript看起來像這樣:

$("#upload_file").click(function(){ 

     $.ajaxFileUpload 
     (
      { 
       url: '/myproject/uploadFile.json', 
       secureuri: false, 
       fileElementId: 'upload_files', 
       dataType: 'json', 
       success: function (data, status) { 
        alert("OK"); 
       }, 
       error: function (data, status, e) { 
        alert("Error"); 
       } 
      } 
     ); 

     return false; 
    }); 

,並在控制器:

@RequestMapping(value="/uploadFile.json", method=RequestMethod.POST) 
public Map<String, Object> readFile(
     @RequestParam(value = "file", required=false) MultipartFile file, 
     Model model) throws Exception{ 
    ... 
} 

我遇到的問題是,我沒有在文件參數接收的文件內容(它始終爲空),並用螢火蟲我可以看到,我發送文件的內容在一個名爲「文件」的參數。但我沒有收到它們,雖然這個方法被調用(我有一個斷點,它停在它)。如果我從文件參數中刪除required = false,則會給出一個400錯誤,因此它看起來像無法找到文件參數。

我使用Spring 3.0.4。

任何想法可能發生什麼?

謝謝。

回答