檔案上傳下載(簡易體驗版)
阿新 • • 發佈:2018-11-29
檔案上傳
寫在servlet dopost中的方法: //建立讀取的檔案的工廠類 DiskFileItemFactory factory = new DiskFileItemFactory(); //讀取request裡面流的 解析類 ServletFileUpload upload = new ServletFileUpload(factory); //中文亂碼處理 upload.setHeaderEncoding("UTF-8"); try { List<FileItem> list = upload.parseRequest(request); for (FileItem fileItem : list) { System.out.println(fileItem.getName()); System.out.println(fileItem.getFieldName()); //從request中拿到輸入流 InputStream is = fileItem.getInputStream(); OutputStream os = new FileOutputStream("F://"+fileItem.getName()); int i = 0; while((i=is.read())!=-1){ os.write(i); } os.close(); is.close(); } } catch (FileUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); }
檔案下載
String path="F://wy2.txt";//讀取的檔案的地址 //必須且固定的頭,照搬就是,注意後面的path和filename response.setContentType(getServletContext().getMimeType(path)); //設定Content-Disposition response.setHeader("Content-Disposition", "attachment;filename=1.txt"); //讀取目標檔案,通過response將目標檔案寫到客戶端 FileInputStream fis = new FileInputStream(new File(path)); ServletOutputStream output = response.getOutputStream(); int i = 0; while((i=fis.read())!=-1){ output.write(i); } output.close(); fis.close();