SpringMVC MultipartFile 多文件/单文件上传通用类
来源:互联网 发布:写sql算研发么 编辑:程序博客网 时间:2024/05/17 06:55
SpringMVC MultipartFile 多文件/单文件上传通用类
支持多文件或者单文件上传,基于springMVC,都是自己平常用到的工具类,借于这个平台记录一下吧~
- springmvc.xml配置支持文件上传
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="31457280" /> <property name="maxInMemorySize" value="4096" /> <property name="defaultEncoding" value="UTF-8"></property></bean>
- 前端页面,使用ajax form表单提交,自行引入对应的js
<form id="addForm" > <input id="file2" type="file" name="yhImg"><form> $("#addForm").ajaxSubmit({ url:"", type:"POST", dataType:"json", data:{ "fileFolder":"smallEBusinessType" }, success:function(data){ layer.alert(data.errorMsg); }, error:function(){ layer.alert("服务器繁忙,请稍后再试!"); } });
- 后台代码
@RequestMapping(value="save", produces="text/html;charset=UTF-8")public void addGetMoneyInfo(HttpServletRequest request,MdlSmallEBusinessType businessType){ JSONObject resultJson = new JSONObject(); resultJson.put("status", 0); MutiUploadFile uploadFile = new MutiUploadFile(); try { if(businessType.getId()==null){//新增信息 String ygImg = uploadFile.mutiupload(request,"ygImg");//员工端图片 businessType.setType_img(ygImg); smallEtype.addInfo(businessType); resultJson.put("status", 1); resultJson.put("errcode", "1"); resultJson.put("errorMsg", "成功"); out(resultJson.toString(), response); return; } } catch (Exception e) { resultJson.put("errcode", "500"); resultJson.put("errorMsg", "服务器出错"); out(resultJson.toString(), response); return; } }
- 关键通用类 MutiUploadFile.java
package xxxxxxx;import java.io.File;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.MultipartHttpServletRequest;/** * 多文件/单文件上传通用类 * @author Levan * @time 2017年1月10日 */public class MutiUploadFile { /** * 多文件/单文件上传 * @param request * @param inputName form表单type为file的 name值,比如<input type="file" name="uploads"/> ,inputName=uploads * @return * @throws Exception */ public String mutiupload(HttpServletRequest request,String inputName) throws Exception{ //保存文件的文件夹名称 String fileFolder = request.getParameter("fileFolder"); List<MultipartFile> files = ((MultipartHttpServletRequest) request).getFiles(inputName); String fileUrl = ""; if(files.size()==1){ for (MultipartFile file : files) { fileUrl += saveFile(file, request,fileFolder); } }else { for (MultipartFile file : files) { fileUrl += saveFile(file, request,fileFolder)+"|"; } } System.out.println("文件保存成功..."); return fileUrl; } /** * 生成文件名称规则:时间+ 6位随机数 * @param file * @param request * @return * @throws IllegalStateException * @throws IOException */ private String saveFile(MultipartFile file,HttpServletRequest request,String fileFolder) throws IllegalStateException, IOException { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM"); Date date = new Date(); String month = sdf.format(date); sdf = new SimpleDateFormat("yyyyMMddHHmmss"); date = new Date(); String now= sdf.format(date); String path = request.getSession().getServletContext().getRealPath("uploadImg/"+fileFolder+"/"+month); String fileName = file.getOriginalFilename(); /**随机生成六位数字**/ int co = ((int) ((Math.random() * 9 + 1) * 100000)); String randomVal = String.valueOf(co); /**获取文件的后缀**/ String suffix = fileName.substring(fileName.lastIndexOf(".")); fileName = now+"-"+randomVal+suffix; File targetPath = new File(path); if(!targetPath.exists()) targetPath.mkdirs(); File targetFile = new File(path + "/" + fileName); if(!targetFile.exists()) targetFile.createNewFile(); file.transferTo(targetFile); //普通上传! //Thumbnails.of(file.getInputStream()).scale(1f).outputQuality(0.25f).toFile(targetFile); //按照比例进行缩放 String fileUrl = request.getRequestURL().substring(0,request.getRequestURL().lastIndexOf("/")); //http://localhost:8080/项目名/business/ fileUrl = fileUrl.substring(0, fileUrl.lastIndexOf("/"));//http://localhost:8080/项目名 fileUrl = fileUrl+"/uploadImg/"+fileFolder +"/"+month+"/"+fileName; return fileUrl; } }
完毕!
阅读全文
1 0
- SpringMVC MultipartFile 多文件/单文件上传通用类
- SpringMVC上传文件MultipartFile
- springmvc 上传文件 MultipartFile
- SpringMVC MultipartFile文件上传
- springMVC文件上传 MultipartFile
- SpringMVC MultipartFile来进行多文件上传
- springMVC MultipartFile html5 多文件上传
- SpringMvc MultipartFile 多张图片文件上传
- 多文件上传,基于springmvc(MultipartFile)
- springmvc中multipartFile文件上传
- SpringMVC 文件上传配置MultipartFile
- SpringMVC 文件上传 MultipartFile、CommonsMultipartResolver
- SpringMVC 文件上传,使用MultipartFile
- SpringMVC使用Multipartfile上传文件
- MultipartFile实现文件上传(单文件与多文件上传)
- 使用springmvc的MultipartFile实现单文件和多文件上传
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
- IOS打包ipa
- python安装完毕后,用pip安装失败
- 一个简单的html
- 初识机器学习——概念介绍(imooc笔记)
- html隐藏元素
- SpringMVC MultipartFile 多文件/单文件上传通用类
- 转义字符
- java SE 注意点 1
- 数组、链表、堆栈和队列
- 多重集组合数(动态规划(DP))
- 最大公约数欧几里得算法
- ACdream 1116 Gao the string! (扩展KMP+矩阵快速幂)
- hdu 2069 二维母函数
- ReactNative基础---Layout and Flexbox