如何使用springmvc控制器通过ajax sumbit传递文件对象
How to pass file object through ajax sumbit with spring mvc controller
我正试图通过jquery ajax submit传递文件对象。
JSP代码
<div id="import-file">
<input type="file" id="file"/>
<table>
<tr><td><input type="radio" name="type" value="csv"></td><td>CSV File</td></tr>
<tr><td><input type="radio" name="type" value="excel"></td><td>Excel spread sheet</td></tr>
<tr><td><input type="radio" name="type" value="tab"></td><td>Tab delimited</td></tr>
</table>
</div>
Java脚本代码
var type = $($('input:radio:checked')[0]).val();
var file = $("#file")[0].files[0];
alert($("#file")[0].files[0].name);
$.ajax({
data :{
"file" : file,
"type" : type
},
type: "POST",
url: "fileupload.htm",
success: function(data){
alert(data);
},
error:function(err){
alert(err);
}
});
最后是我的弹簧控制器代码:
@RequestMapping(value="fileupload.htm",method=RequestMethod.POST )
public @ResponseBody String uploadFile(@RequestParam String type, @RequestParam("file") MultipartFile file){
logger.info("file type : "+type + "file is "+file.toString());
return "SUCCESS";
}
正在获取NS_NOINTERFACE:组件在我的firebug控制台中没有请求的接口[nsIDOMBlob.slice]错误。
我已经这样解决了:
JavaScript代码
var formData = new FormData($('form')[0]);
console.log("form data "+formData);
$.ajax({
url: 'fileupload.htm',
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
alert(data);
},
error: function(err){
alert(err);
}
});
JSP代码
<form action="fileupload.htm" method="post" enctype="multipart/form-data" name="fileinfo">
<input type="file" name="fileName" id="file"/>
</form>
弹簧控制器:
@RequestMapping(value="fileupload.htm",method=RequestMethod.POST )
public @ResponseBody String uploadFile(@RequestParam("fileName") MultipartFile file){
try{
logger.info("file is "+file.toString());
}catch(Exception e){
return "error occured "+e.getMessage();
}
}
希望它能帮助一些身体。
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用压缩的JavaScript文件(不是运行时压缩)
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Javascript运行php文件,然后下载文件
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 我应该如何从xml文件构建一个javascript页面
- 如何使用springmvc控制器通过ajax sumbit传递文件对象