java文件上传单文件 多文件与删除

本文主要分享了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 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 fileUploads( HttpServletRequest request, HttpServletResponse response, String path) { MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Map fileMap = multipartRequest.getFileMap(); Map filePaths = new HashMap(); // 得到上传服务器的物理路径 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; }

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...