/** * 上传至本地文件,待优化 * * @param request * @param res * @throws Exception */ @RequestMapping(value = "/uploadFile.do") public void uploadFile(HttpServletRequest request, HttpServletResponse res) throws Exception { //判断 request 是否有文件上传,即多部分请求 try { String fileName = request.getParameter("fileName"); String separator = File.separator; //得到工程名全路径 String sc = request.getSession().getServletContext().getRealPath(""); sc = sc + "uploadFiles" + separator + "fpImages" + separator; logger.info("路径名UploadController:sc" + sc + "======================================="); logger.info("路径名UploadController:fileName" + fileName + "======================================="); String realSavePath = sc + fileName; File tmpFile = new File(sc); logger.info("路径名UploadController:realSavePath" + realSavePath + "======================================="); if (!tmpFile.exists()) { // 创建临时目录当前已处理 tmpFile.mkdir(); } int size = 1024 * 1024 * 2; InputStream in = new BufferedInputStream(new DataInputStream( request.getInputStream()), size); OutputStream out = new BufferedOutputStream(new FileOutputStream( realSavePath), size); byte[] buffer = new byte[1024]; int len = 0; while ((len = in.read(buffer)) > 0) { out.write(buffer, 0, len); } in.close(); out.close(); } catch (Exception e) { logger.error("######class:UploadController method:upload2 " + e.getMessage(), e); } }
原文:https://www.cnblogs.com/dand/p/10709194.html