设为首页 加入收藏

TOP

SpringMVC结合ajaxfileupload.js实现文件无刷新上传(四)
2017-10-13 10:36:07 】 浏览:7626
Tags:SpringMVC 结合 ajaxfileupload.js 实现 文件 刷新 上传
quot;收到用户[" + uname + "]的文件上传请求"); 53 //如果用的是Tomcat服务器,则文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\upload\\文件夹中 54 //这里实现文件上传操作用的是commons.io.FileUtils类,它会自动判断/upload是否存在,不存在会自动创建 55 String realPath = request.getSession().getServletContext().getRealPath("/upload"); 56 //设置响应给前台内容的数据格式 57 response.setContentType("text/plain; charset=UTF-8"); 58 //设置响应给前台内容的PrintWriter对象 59 PrintWriter out = response.getWriter(); 60 //上传文件的原名(即上传前的文件名字) 61 String originalFilename = null; 62 //如果只是上传一个文件,则只需要MultipartFile类型接收文件即可,而且无需显式指定@RequestParam注解 63 //如果想上传多个文件,那么这里就要用MultipartFile[]类型来接收文件,并且要指定@RequestParam注解 64 //上传多个文件时,前台表单中的所有<input type="file"/>的name都应该是myfiles,否则参数里的myfiles无法获取到所有上传的文件 65 for(MultipartFile myfile : myfiles){ 66 if(myfile.isEmpty()){ 67 out.print("1`请选择文件后上传"); 68 out.flush(); 69 return null; 70 }else{ 71 originalFilename = myfile.getOriginalFilename(); 72 System.out.println("文件原名: " + originalFilename); 73 System.out.println("文件名称: " + myfile.getName()); 74 System.out.println("文件长度: " + myfile.getSize()); 75 System.out.println("文件类型: " + myfile.getContentType()); 76 System.out.println("========================================"); 77 try { 78 //这里不必处理IO流关闭的问题,因为FileUtils.copyInputStreamToFile()方法内部会自动把用到的IO流关掉 79 //此处也可以使用Spring提供的MultipartFile.transferTo(File dest)方法实现文件的上传 80 FileUtils.copyInputStreamToFile(myfile.getInputStream(), new File(realPath, originalFilename)); 81 } catch (IOException e) { 82 System.out.println("文件[" + originalFilename + "]上传失败,堆栈轨迹如下"); 83 e.printStackTrace(); 84 out.print("1`文件上传失败,请重试!!"); 85 out.flush(); 86 return null; 87 } 88 } 89 } 90 //此时在Windows下输出的是[D:\Develop\apache-tomcat-6.0.36\webapps\AjaxFileUpload\\upload\愤怒的小鸟.jpg] 91 //System.out.println(realPath + "\\" + originalFilename); 92 //此时在Windows下输出的是[/AjaxFileUpload/upload/愤怒的小鸟.jpg] 93 //System.out.println(request.getContextPath() + "/upload/" + originalFilename); 94 //不推荐返回[realPath + "\\" + originalFilename]的值 95 //因为在Windows下<img src="file:///D:/aa.jpg">能被firefox显示,而<img src="D:/aa.jpg">firefox是不认的 96 out.print("0`" + request.getContextPath() + "/upload/" + originalFilename); 97 out.flush(); 98 return null; 99 } 100 }

 

注:本文参考:http://blog.csdn.net/jadyer/article/details/11693705

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇idea的快捷键 下一篇JSP九个内置对象及指令、动作标签

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目