io流的上傳檔案
阿新 • • 發佈:2019-01-01
前臺
<input type="file" name="signName" id="signName" value="" ">
java後臺
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request; MultipartFile signName= (MultipartFile)multiRequest.getFile("signName") ; String picurl=file(signName,request); public String file(MultipartFile files,HttpServletRequest request){ String htwbFileName= files.getOriginalFilename(); SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd"); Date date=new Date(); String time=sdf.format(date); FileOutputStream fos = null; FileInputStream fis = null; String picurl=""; try { String path=request.getSession().getServletContext().getRealPath("upload/");//項目錄部署路徑 String createpath = time; //判斷檔案是否存在若不存在建立檔案 File file=new File(path+"/"+createpath); if(!file.exists()) { file.mkdirs(); } String type = htwbFileName.substring(htwbFileName.lastIndexOf(".") + 1, htwbFileName.length());//圖片格式 String picName=UUID.randomUUID().toString().replace("-", "")+"."+type;//圖片名稱 picurl = createpath +"/"+ picName; fos = new FileOutputStream(path +"/"+ createpath + "/" + picName); fis = (FileInputStream) files.getInputStream(); byte[] buffer = new byte[1024]; int len = 0; while ((len = fis.read(buffer)) != -1) { fos.write(buffer, 0, len); } } catch (Exception e) { e.printStackTrace(); } finally { close(fos, fis); } return picurl; } private void close(FileOutputStream fos, FileInputStream fis) { if (fis != null) { try { fis.close(); fis = null; } catch (Exception e) { System.out.println("FileInputStream關閉失敗"); e.printStackTrace(); } } if (fos != null) { try { fos.close(); fis = null; } catch (Exception e) { System.out.println("FileOutputStream關閉失敗"); e.printStackTrace(); } } }