文件上传工具包
来源:互联网 发布:最简单图片轮播js代码 编辑:程序博客网 时间:2024/06/07 04:05
好久没写博客,代码小生,
前提是需要导入相应的包,再整合spring+springmvc项目使用
package cn.zhangguimin.web.utils;import java.io.File;import java.util.ArrayList;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpSession;import org.apache.commons.io.FilenameUtils;import org.apache.commons.lang.math.RandomUtils;import org.springframework.web.multipart.MultipartFile;/** * 文件工上传具类 * * @Author 章先森 * @CreateDate 2017年11月11日 * @ www.zhngguimin.cn */public class FilesUpload { /** * 上传图片方法 * 图片格式:bmp,jpg,png,gif,jpeg,pneg * 最大上传大小:size 单位M * 上传路径:path--request.getSession().getServletContext().getRealPath("static" + File.separator + "pic"); * @param attach * @param session * @param request * @return * @throws Exception */ public String uploadPhoto(MultipartFile attach, HttpSession session, HttpServletRequest request,Integer size) throws Exception { String idPicPath = null; if (!attach.isEmpty()) { String path = request.getSession().getServletContext().getRealPath("static" + File.separator + "pic"); String oldFileName = attach.getOriginalFilename(); String prefix = FilenameUtils.getExtension(oldFileName); int filesize = size*1024000; if (attach.getSize() > filesize) { throw new RuntimeException("SizeError"); // 图片格式:bmp,jpg,png,gif,jpeg,pneg } else if (prefix.equalsIgnoreCase("jpg") || prefix.equalsIgnoreCase("png") || prefix.equalsIgnoreCase("jpeg") || prefix.equalsIgnoreCase("pneg") || prefix.equalsIgnoreCase("gif") || prefix.equalsIgnoreCase("bmp")) { String fileName=System.currentTimeMillis()+RandomUtils.nextInt(1000000)+"user."+prefix; File targetFile=new File(path,fileName); if (!targetFile.exists()) { targetFile.mkdirs(); } try { attach.transferTo(targetFile); } catch (RuntimeException fe) { fe.printStackTrace(); } idPicPath=path+File.separator+fileName; }else { throw new RuntimeException("PicError"); } } return idPicPath; } /** * 多文件上传 * 文件格式:doc,xlsx,zip,txt,docx,pptx * 最大上传大小:size 单位M * 上传路径:path--request.getSession().getServletContext().getRealPath("static" + File.separator + "files"); * @param attach * @param session * @param request * @return * @throws Exception */ public List<String> uploadFiles(MultipartFile[] attachs, HttpSession session, HttpServletRequest request,Integer size) throws Exception { List<String> idPicPath=null; if (attachs.length>0) { idPicPath=new ArrayList<>(); for (MultipartFile attach : attachs) { String path = request.getSession().getServletContext().getRealPath("static" + File.separator + "files"); String oldFileName = attach.getOriginalFilename(); String prefix = FilenameUtils.getExtension(oldFileName); int filesize = size*1024000; if (attach.getSize() > filesize) { throw new RuntimeException("SizeError"); // 图片格式:doc,xlsx,zip,txt,docx,pptx } else if (prefix.equalsIgnoreCase("doc") || prefix.equalsIgnoreCase("docx") || prefix.equalsIgnoreCase("xlsx") || prefix.equalsIgnoreCase("pptx") || prefix.equalsIgnoreCase("txt") || prefix.equalsIgnoreCase("zip")) { String fileName=System.currentTimeMillis()+RandomUtils.nextInt(1000000)+"file."+prefix; File targetFile=new File(path,fileName); if (!targetFile.exists()) { targetFile.mkdirs(); } try { attach.transferTo(targetFile); } catch (RuntimeException fe) { fe.printStackTrace(); } idPicPath.add(path+File.separator+fileName); }else { throw new RuntimeException("PicError"); } } } return idPicPath; }}
阅读全文
0 0
- 文件上传工具包
- 黑马day15 文件上传&apche的工具包
- Putty工具包PSCP向Linux上传文件
- FileUtile(文件操作工具包)
- 文件上传---文件上传
- 《JavaWeb---简单应用---练习JDBC,JSTL》---上传Excel文件,利用工具包解析,将数据储存到数据库中,可以查询删除
- Java 部署工具包提供的脚本文件
- java EXCEL文件读写工具包POI
- APK文件反编译、签名整合工具包
- 使用jxl工具包创建修改excel文件
- xml文件的操作选用的工具包
- java jxl工具包操作excel文件
- INI文件快速解析java工具包
- logs-dir文件日志记录, npm工具包,
- java文件保存工具类【工具包系列】
- Java+GeoTools工具包+读写shapfile文件
- 上传文件
- 文件上传
- 安装imageio
- Cypress-USB-PnP事件注册方法
- 清空cmake的输出
- hibernate annotation注解方式来处理映射关系
- jqgraid table 表头与内容cell无法对齐 解决方案
- 文件上传工具包
- 25. Python脚本学习笔记二十五 CGI脚本
- babyos2(6)——IDT,中断,异常
- opecv一些常用的函数学习
- sdnu1518.华
- Storm单机安装
- 26. Python脚本学习笔记二十六 mod_python
- C和指针之数组名和&数组名和&首元素以及sizeof(数组名)和sizeof(数组名作为参数)区别
- 27. Python脚本学习笔记二十七 测试及测试工具