⚡ Stream I/O로 파일 저장
- .jsp
<body> <form id="frm" enctype="multipart/form-data"> 첨부파일 : <input type="file" name="mfile"><br><br> <input type="button" value="전송" onclick="update()"> </form> </body> <script type="text/javascript"> function update(){ frm.method = "post"; frm.action = "./jsp15.do"; frm.submit(); } </script>
- servlet 파일 (.java)
package shop; @MultipartConfig( fileSizeThreshold = 1024*1024*2, maxFileSize = 1024*1024*5, maxRequestSize = 1024*1024*100 ) public class jsp15 extends HttpServlet { private static final long serialVersionUID = 1L; //Stream I/O로 파일 저장 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); Part file = request.getPart("mfile"); String url = request.getServletContext().getRealPath("/upload/"); String filename = file.getSubmittedFileName(); String save = url+filename; //fileinputstream : 최고엄마 , 네트워크로 넘어 올 시 이렇게 사용 InputStream is = file.getInputStream(); //파일 전송에 대한 파일 읽기 //전송된 파일을 해당 경로에 저장시키는 형태 FileOutputStream fs = new FileOutputStream(save); //파일 크기 변환 byte[] bf = new byte[1024*1024*2]; //2MB //파일의 전송 크기만큼 저장시킴 int size = 0; while((size=is.read(bf))!= -1) { fs.write(bf,0,size); } fs.flush(); fs.close(); is.close(); PrintWriter pw = response.getWriter(); pw.write("<script>" + "alert('정상적으로 파일이 업로드 되었습니다');" + "location.href='./jsp15.jsp';" + "</script>"); } }
'CLASS > JSP' 카테고리의 다른 글
#4-5 / 상품 리뷰 등록,list,삭제,수정 (0) | 2024.06.28 |
---|---|
#4-4 / input type file-multiple을 사용할 경우(part) (0) | 2024.06.27 |
#4-2 / 첨부파일 여러개 업로드시 사용법 (0) | 2024.06.27 |
#4-1 / 상품 등록 및 삭제 (0) | 2024.06.27 |
#3-3 / 2예제 paging 기능 추가 (0) | 2024.06.26 |