spring mvc 上传文件
- 一般通过 form 表单的请求上传的文件,大家都会,通过对 form 表单加 enctype="multipart/form-data" 属性可以把文件变成二进制流。
- 但是,最近又遇到难题了,通过 ajax 上传文件,当用户选中图片后,通过调用 jquery 的 change 事件,来触发 ajax 来上传文件。
- 这里用到了 H5 的 fromdata
ajax 代码
$('#file').change(function () {
var formdData = new FormData($('#file')[0].files[0]);
$.ajax({
url:"uploadWorkImg",
data:formdData,
dataType:"String",
async:false,
contentType: false,
processData: false,
success:function (data) {
alert(data);
}
});
})
- 这里的 file 是 input 文件的 id(只上传一个图片)
spring mvc 接收到的文件
@RequestMapping(value = "/uploadWorkImg")
public @ResponseBody String uploadimg(@RequestParam("file") MultipartFile multipartFile)
{
System.out.println(multipartFile.getOriginalFilename());//这里只让他输出试试。
return "success";
}
- 然后就报错了
问题
- 这里的当前不是 multipart request。觉得这应该和 file 有关,转而把 file 封装到一个带 enctype="multipart/form-data" 属性 form 带表单中,然后将 form 表单,添加到 formdata 中。结果还是一样的错误。
- 不太理解 MultipartFile 这个接口,要能实现用 MultipartFile 来接收文件,还需要什么条件。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于