上传和下载需要一些jar包
commons-fileupload-1.3.1.jar
commons-io-2.4.jar
上传界面fileUp.jsp
1 <h2>文件的上传</h2> 2 <form action="fileUp_do.jsp" method="post" enctype="multipart/form-data"> 3 <input type="file" name="file"><input type="submit" value="提交"> 4 </form>
上传处理fileUp_do.jsp
1 <% 2 //ServletFileUpload类 3 ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); 4 //解析request 5 List<FileItem> fileItemList = upload.parseRequest(request); 6 for (FileItem f : fileItemList) { 7 String ext = FilenameUtils.getExtension(f.getName());//获取文件后缀名 8 FileOutputStream fos = new FileOutputStream( 9 new File("E:\练习\" + System.currentTimeMillis() + "." + ext)); 10 IOUtils.copy(f.getInputStream(), fos); 11 fos.close(); 12 } 13 %>
下载界面fileDow.jsp
1 <h2>文件的下载</h2> 2 <% 3 File[] files = new File("E:\练习\").listFiles(); 4 for (File f : files) { 5 %> 6 <a href="fileDow_do.jsp?filename=<%=f.getName()%>"><%=f.getName()%></a><br/> 7 <% 8 } 9 %>
下载处理fileDow_do.jsp
1 <%@page import="org.apache.commons.io.IOUtils"%><%@page import="java.io.File"%><%@page import="java.io.FileInputStream"%><%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%><% 3 String filename = request.getParameter("filename"); 4 FileInputStream fis = new FileInputStream(new File("E:\练习\" + filename)); 5 response.addHeader("Content-Disposition", "attachment;filename=" + filename); 6 IOUtils.copy(fis, response.getOutputStream()); 7 fis.close(); 8 %>
注意:需要删除<%%>和<%%>之间的空格符