我在通過AJAX從我的web客戶端向我的服務器上傳文件時遇到問題。我使用以下的jQuery庫在客戶端做文件上傳:https://github.com/hayageek/jquery-upload-file使用Spring框架和jquery-upload-file插件問題上傳文件
在服務器端,我使用Spring框架和我一直遵守以下春教程建立自己的服務:https://spring.io/guides/gs/uploading-files/
起初,我的服務器的方法看起來像這樣(文件定義爲@RequestParam):
@RequestMapping(value="/upload", method=RequestMethod.POST)
public @ResponseBody String handleFileUpload(@RequestParam("file") MultipartFile file){
//functionality here
}
但每次提交上傳表單時,我都收到了來自服務器的錯誤請求消息,並且我的handleFileUpload()
方法從未被調用過。
在那之後,我意識到該文件在送交作爲請求參數,所以我定義爲file
@RequestBody ,現在我的方法是這樣的:
@RequestMapping(value="/upload", method=RequestMethod.POST)
public @ResponseBody String handleFileUpload(@RequestBody("file") MultipartFile file){
//functionality here
}
現在handleFileUpload()
被稱爲每次上傳表單已提交,但每次我想操縱文件時,我都會收到NullPointerException
。
我想避免提交表單默認情況下,我只是想通過AJAX直接到服務器。有人知道這裏會發生什麼嗎?
與論壇網站不同,我們不使用「謝謝」或「任何幫助表示讚賞」,或在[so]上簽名。請參閱「[應該'嗨','謝謝',標語和致敬從帖子中刪除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be - 刪除 - 從帖子)。順便說一句,這是「預先感謝」,而不是「感謝先進」。 –
@JohnSaunders我知道,這是我已經停止在我的最新帖子中做的事情,無論如何謝謝你給的建議。 – charliebrownie