spring 上传文件
来源:互联网 发布:国内餐饮软件排名 编辑:程序博客网 时间:2024/04/30 11:10
提示:本文是在 spring mvc 入门(包括返回结果为json的请求处理)基础上讨论的。
一、XML配置
在abc-servlet.xml上添加
<!-- MultipartResolver for parsing file uploads, implementation for Commons FileUpload , needs commons-fileupload.jar,commons-io.jar --><!-- 以字节为单位的最大上传文件的大小 2M --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="resolveLazily" value="true"/><property name="maxUploadSize" value="2097152"/><property name="maxInMemorySize" value="4096" /><property name="defaultEncoding" value="UTF-8" /></bean>
二、处理类
@Controller@RequestMapping(value="uploadAndDown")public class UploadAndDownController extends BaseController {@RequestMapping(value="upload",method=RequestMethod.POST)public String handleUpload(HttpServletRequest request,HttpServletResponse response){MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;CommonsMultipartFile cmFile = (CommonsMultipartFile)multipartRequest.getFile("firstFile");PrintWriter out = null;if(!cmFile.isEmpty()){try {File uploadFile = new File("d:"+File.separator+"temp"+File.separator+"1.jpg");if(uploadFile.isDirectory())uploadFile.delete();if(!uploadFile.exists())uploadFile.createNewFile();cmFile.getFileItem().write(uploadFile);responseSetting(response);out = response.getWriter();out.write("<script>parent.uploadCallback('上传成功。');</script>");} catch (Exception e) {log.error(e);} finally {if(out != null)out.close();}}else{log.error("file name " + cmFile.getName()+ " uploaded is empty.");}return null;}@ExceptionHandler(MaxUploadSizeExceededException.class)public String handleMaxUploadSizeExceededException(MaxUploadSizeExceededException ex, HttpServletRequest request,HttpServletResponse response){PrintWriter out = null;try {responseSetting(response);out = response.getWriter();out.write("<script>parent.uploadCallback('上传文件太大。');</script>");} catch (IOException e) {log.error(e,e);} finally {if(out != null)out.close();}return null;}
三、发起上传文件的界面
<div style="margin: 50px 0 0 0"><form id="uploadForm" action="" enctype="" target=""><input type="file" id="firstFile" name="firstFile"/><input type="submit" value="Submit" onclick="upload()"/></form></div><iframe id="uploadAndDownFrame" name="uploadAndDownFrame" style="display: none;"></iframe>
其中处理的javascript:
function upload(){$("#uploadForm").attr("target","uploadAndDownFrame");$("#uploadForm").attr("enctype","multipart/form-data");$("#uploadForm").attr("method","POST");$("#uploadForm").attr("action","${path}/rest/uploadAndDown/upload");$("#uploadForm").submit();}function uploadCallback(re){alert(re);}
0 0
- spring实现文件上传
- Spring 文件上传
- spring上传文件
- Spring MultipartResolver文件上传
- spring mvc 文件上传
- Spring 文件上传
- spring 多文件上传
- Spring文件上传
- Spring CommonsMultipartResolver 上传文件
- Spring 文件上传
- spring MVC 文件上传
- spring 多文件上传
- spring 文件上传
- Spring MVC文件上传
- Spring 文件上传
- Spring CommonsMultipartResolver 上传文件
- Spring实现文件上传
- Spring 文件上传
- Apriori算法
- 【黑马程序员】C#笔记之值类型和引用类型
- shell 关联数组添加元素问题
- 【Android-UI】包含多个子View时触发父节点的焦点事件
- 【日志】2014_4_7 琐碎杂事,无具体技术
- spring 上传文件
- spark sql逻辑计划(优化完)转物理计划
- Android自定义View全面总结
- 针对华为通讯模块USB设备 android、linux 上位机集成的一些经验
- Java 小程序:实现一个购物流程的功能(2)
- 并发不是并行 它更好!
- 如何用java语言实现遍历字符串中每个字符出现的次数
- hdu 3535 AreYouBusy dp
- 一个支持大数计算的类型 仅不支持除法