java文件上传(单文件 多文件)与删除
时间:2020-11-09 18:32:37|栏目:JAVA代码|点击: 次
话不多说,请看代码
/** * 文件上传--单文件 * * @param request * @param response * @param path * 文件存放路径(path为WebApp\后面的内容) * @return */ public final static String fileUpload(HttpServletRequest request, HttpServletResponse response, String path) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); MultipartFile mFile = null; for (Iterator<?> i = fileMap.keySet().iterator(); i.hasNext();) { Object obj = i.next(); mFile = (MultipartFile) fileMap.get(obj); } String filePath = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); try { // 得到上传的文件的文件名 String filename = mFile.getOriginalFilename(); // 获取文件后缀名 if (filename != null && !("").equals(filename)) { String fileExt = filename.substring(filename.lastIndexOf(".")); // 按时间格式重新生成文件名 String newFileName = sdf.format(new Date()) + (int) (Math.random() * 100) + fileExt; filePath = path + "/" + newFileName; // 得到上传服务器的物理路径 path = request.getSession().getServletContext() .getRealPath("\\" + path); // 文件流写到服务器端 File saveFile = new File(path, newFileName); FileCopyUtils.copy(mFile.getBytes(), saveFile); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return filePath; } /** * 文件上传--多文件 * * @param request * @param response * @param filePaths * (fileinputId,WebApp\后面的内容) * @return */ public final static Map<String, Object> fileUploads( HttpServletRequest request, HttpServletResponse response, String path) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); Map<String, Object> filePaths = new HashMap<String, Object>(); // 得到上传服务器的物理路径 String fileUrl = request.getSession().getServletContext() .getRealPath("\\" + path); for (Iterator<?> i = fileMap.keySet().iterator(); i.hasNext();) { Object obj = i.next(); MultipartFile mFile = (MultipartFile) fileMap.get(obj); // 得到上传的文件的文件名 String filename = mFile.getOriginalFilename(); if (filename == "" || filename == null) { continue; } SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); // 获取文件后缀名 String fileExt = filename.substring(filename.lastIndexOf(".")); // 按时间格式重新生成文件名 String newFileName = sdf.format(new Date()) + (int) (Math.random() * 100) + fileExt; String filePath = path + "/" + newFileName; // 文件流写到服务器端 try { filePaths.put(obj.toString(), filePath); File saveFile = new File(fileUrl, newFileName); FileCopyUtils.copy(mFile.getBytes(), saveFile); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return filePaths; } /** * 删除文件, * * @param request请求 * @param filePath文件路径 * (static/upload/...) * @return */ public static boolean fileDelete(HttpServletRequest request, String filePath) { String fileUrl = request.getSession().getServletContext() .getRealPath("\\" + filePath);// 得到上传服务器的物理路径 File file = new File(fileUrl); fileDelete(file); return false; }
上一篇:Java8中字符串处理库strman-java的使用示例
栏 目:JAVA代码
本文标题:java文件上传(单文件 多文件)与删除
本文地址:http://www.codeinn.net/misctech/20805.html
阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机