java文件上傳(單文件 多文件)與刪除
更新時間:2017年01月24日 14:30:30 作者:衣兜里
本文主要分享了java文件上傳(單文件 多文件)與刪除的示例代碼。具有很好的參考價值,下面跟著小編一起來看下吧
話不多說,請看代碼
/** * 文件上傳--單文件 * * @param request * @param response * @param path * 文件存放路徑(path為WebApp\后面的內(nèi)容) * @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; // 得到上傳服務(wù)器的物理路徑 path = request.getSession().getServletContext() .getRealPath("\\" + path); // 文件流寫到服務(wù)器端 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\后面的內(nèi)容) * @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>(); // 得到上傳服務(wù)器的物理路徑 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; // 文件流寫到服務(wù)器端 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);// 得到上傳服務(wù)器的物理路徑 File file = new File(fileUrl); fileDelete(file); return false; }
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
Spring源碼之事件監(jiān)聽機制(實現(xiàn)EventListener接口方式)
這篇文章主要介紹了Spring源碼之事件監(jiān)聽機制(實現(xiàn)EventListener接口方式),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08Spring Boot 整合單機websocket的步驟 附github源碼
websocket 是一個通信協(xié)議,通過單個 TCP 連接提供全雙工通信,這篇文章主要介紹了Spring Boot 整合單機websocket的步驟(附github源碼),需要的朋友可以參考下2021-10-10Java web spring異步方法實現(xiàn)步驟解析
這篇文章主要介紹了Java web spring異步方法實現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08idea全局搜索快捷鍵超詳細(xì)總結(jié)(推薦!)
在實際開發(fā)中項目會非常多,如何在項目中快速定位,你說需要找到的類或方法,可以利用idea的全局搜索功能,下面這篇文章主要給大家分享介紹了關(guān)于idea全局搜索快捷鍵超詳細(xì)總結(jié)的相關(guān)資料,需要的朋友可以參考下2023-01-01