2015-03-02 53 views
3

因此,我有一個使用AngularJS製作的表單(不適合該項目,但這是該用戶使用的),它具有標準字段以及「文件」類型輸入。從我讀過的內容來看,聽起來像FormData對象將是保存表單的一種好方法,只是我根本無法完成它。我試着按照方法here沒有成功,我認爲問題是我沒有正確編寫控制器。實際的形式有更多的領域和多個文件,但是這是一個簡單的測試,我一直試圖去工作:將FormData對象傳遞給Spring MVC

HTML:

<form enctype="multipart/form-data" method="post" name="testform"> 
    <input type="file" name="file" required /> 
    <input type="text" name="name"/> 
</form> 

JS:

function submit() { 
var fd = new FormData(document.getElementById("testform")); 
$.ajax({ 
    url: saveUrl, 
    type: "POST", 
    data: fd, 
    processData: false, // tell jQuery not to process the data 
    contentType: false, // tell jQuery not to set contentType 
    success: function (result) {...} 
}); 
} 

我已經嘗試了使用MultipartHttpServletRequest的多種變體控制器,一個對象建模的形式,不同的標題等。沒有什麼真正接近的工作,但有些東西模糊地是這樣的:

@RequestMapping(value = "save", method = RequestMethod.POST, headers = "content-type=multipart/form-data") 
@ResponseBody 
public String saveShipmentRequest(TestFormData testFormData) { 
    ... 
} 

如果有人能幫上忙,那就太棒了。我也歡迎這樣的替代方法,我勉強知道角度和是相當新的春天,所以我可能採取錯誤的做法都在一起......

回答

1

試試這個

@RequestMapping(value = "/addProfilePicForPage", method = RequestMethod.POST) 
public String methodName(MultipartHttpServletRequest request, @RequestParam String pageid) { 
     ... 
} 
相關問題