SpringMVC-文件异步上传
来源:互联网 发布:mac 外置显卡 编辑:程序博客网 时间:2024/05/17 18:03
<head> <script src="jquery-2.1.4.js"></script> <script> $(function () { $("#upload").click(function () { $("#imgWait").show(); var formData = new FormData(); formData.append("myfile", document.getElementById("file1").files[0]); $.ajax({ url: "upload.ashx", type: "POST", data: formData, /** *必须false才会自动加上正确的Content-Type */ contentType: false, /** * 必须false才会避开jQuery对 formdata 的默认处理 * XMLHttpRequest会对 formdata 进行正确的处理 */ processData: false, success: function (data) { if (data.status == "true") { alert("上传成功!"); } if (data.status == "error") { alert(data.msg); } $("#imgWait").hide(); }, error: function () { alert("上传失败!"); $("#imgWait").hide(); } }); }); }); </script></head><body> 选择文件:<input type="file" id="file1" /><br /> <input type="button" id="upload" value="上传" /> <img src="wait.gif" style="display:none" id="imgWait" /> </body>
后台:
@RequestMapping("/solutionSubmit")
public ModelAndView solutionSubmit(HttpSession session,@RequestParam("file")CommonsMultipartFile file,HttpServletRequest request,ModelAndView model){
String username = request.getParameter("username");
String fileName = file.getOriginalFilename();//获取文件名
int pid = Integer.parseInt(request.getParameter("pid"));
//String path = request.getSession().getServletContext().getRealPath("/solution");//开发期间,文件先放在这里,发布之后更换存储目录String path = req.getRealPath("/solution");
String path = request.getRealPath("/solution");
InputStream is = null;
OutputStream os = null;
try {
is = file.getInputStream();
os = new FileOutputStream(new File(path,fileName));
int length = 0;
byte[] buffer = new byte[1024];
while((length = is.read(buffer)) != -1){
os.write(buffer, 0, length);
}
boolean flag = service.saveSolutionToDB(username, path + "/" + fileName);
boolean mappingResult = service.insertPidMappingSid(pid);
if(flag && mappingResult){
model.addObject("msg", "上传成功,请等待专家审核,通过审核后电话联系您!");
model.setViewName("jsp/solutionSubmitStatus");
}else{
model.addObject("msg", "上传失败,请重新上传!");
model.setViewName("jsp/solutionSubmitStatus");
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
os.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return model;
}
- springmvc异步上传文件
- SpringMVC-文件异步上传
- springmvc 文件上传异步处理
- springmvc实现异步上传文件
- SpringMVC异步上传多文件
- SpringMVC AJAX异步文件上传
- springMVC+uploadify实现文件异步上传
- SpringMVC使用MultipartFile 实现异步上传文件
- 前端ajax异步上传文件+SpringMVC处理上传文件
- JavaEE_Mybatis_SpringMVC (异步上传)SpringMvc文件上传 通过ajaxupfileload.js
- SpringMVC+ajaxFileUpload 异步上传
- springmvc+ajaxfileupload异步上传
- springmvc + ajaxfileupload 实现异步上传文件(图片)
- 使用jquery异步上传文件----SpringMVC注解开发
- springmvc + ajaxfileupload 实现异步上传文件(图片)
- springmvc利用jquery.form插件异步上传文件
- SpringMVC结合ajaxfileupload.js实现异步上传文件
- springmvc + ajaxfileupload 实现异步上传文件(图片)
- Java集合---Vector类源码解析
- JavaScript学习之路<十二> JS面向对象程序设计--原型深入
- nfs安装-Not starting NFS kernel daemon: no exports 问题解决
- Spring MVC之excel表格导出
- dubbo的简单配置及原理
- SpringMVC-文件异步上传
- MyBatis批量删除,多参数
- linux学习之路---linux下打开chm文件
- comparator接口与Comparable接口的区别
- MySQL字符集设置
- 大话设计模式之一---适配器模式《转载》
- 设计模式之二--外观模式《转载》
- Linux 访问window 共享目录
- XZ_iOS之通过分享的链接,调起app