我有一个 jsp 文件,我在其中使用 ajax 文件上传方法上传文件。对于文件的后端处理,我在 Spring 制作了一个 Controller 。但是我找不到在这种情况下如何处理 spring 2.5 中的文件? 我的代码是 -
JSP 文件
<input type="file" name="file" />
<script type="text/javascript">
function saveMedia() {
var formData = new FormData();
formData.append('file', $('input[type=file]')[0].files[0]);
console.log("form data " + formData);
$.ajax({
url : 'ajaxSaveMedia.do',
data : formData,
processData : false,
contentType : false,
type : 'POST',
success : function(data) {
alert(data);
},
error : function(err) {
alert(err);
}
});
}
</script>
最佳答案
主要有两个步骤:
1) 添加 multipart resolver 的实例到 Spring 上下文
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
2) 添加处理方法
// I assume that your controller is annotated with /ajaxSaveMedia.do
@RequestMapping(method = RequestMethod.POST)
public @ResponseBody String doUpload(@RequestParam("file") MultipartFile multipartFile) {
return "Uploaded: " + multipartFile.getSize() + " bytes";
}
从 org.springframework.web.multipart.MultipartFile
获取 java.io.File
的实例:
File file = new File("my-file.txt");
multipartFile.transferTo(file);
关于java - 如何使用ajax文件上传和spring mvc上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31832169/