<强>一丶先引入上传下载的自由强>
<强>二丶上传的的servlet 强>
包com.test.action; 进口java.io.File; 进口java.io.FileOutputStream; 进口java.io.IOException; 进口java.io.InputStream; 进口java.io.OutputStream; 进口并不知道; 进口javax.servlet.ServletException; 进口javax.servlet.annotation.WebServlet; 进口javax.servlet.http.HttpServlet; 进口javax.servlet.http.HttpServletRequest; 进口javax.servlet.http.HttpServletResponse; 进口org.apache.commons.fileupload.FileItem; 进口org.apache.commons.fileupload.FileUploadException; 进口org.apache.commons.fileupload.disk.DiskFileItemFactory; 进口org.apache.commons.fileupload.servlet.ServletFileUpload; @WebServlet("/上传”) 公开课FileUpLoadAction扩展HttpServlet { 私有静态最终长serialVersionUID l=1; 保护无效doPost (HttpServletRequest请求, HttpServletResponse响应)抛出ServletException IOException {//设置编码 request.setCharacterEncoding(“utf - 8”);//对提交的数据进行处理,保存上传文件 布尔成功=processUpload(请求); 如果(成功){//获取表单文本控件的值 字符串帐户=request.getAttribute(“帐户”).toString (); System.out.println(账户);//获取文件上传的原始名称 字符串文件名=request.getAttribute (upfile) .toString (); System.out.println(文件名);//获取文件上传后,服务器上保存的名字 字符串fileNameServer=request.getAttribute (upfileServer) .toString (); System.out.println (fileNameServer); 请求。setAttribute (“upfile fileNameServer); 请求。setAttribute(“信息”、“上传成功”); } request.getRequestDispatcher (“/upload.jsp”)。提出(请求、响应); } 私人布尔processUpload (HttpServletRequest请求){ 布尔成功=true; 字符串消息=零;//获取文件需要上传到的路径 字符串路径=request.getServletContext () .getRealPath("/上传"); System.out.println(路径);//如果此文件夹不存在,则构造此文件夹 文件f=新文件(路径); 如果(! f.exists ()) { f.mkdir (); }//构造出文件工厂,用于存放JSP页面中传递过来的文件 DiskFileItemFactory工厂=new DiskFileItemFactory ();//设置上传文件的保存路径 factory.setRepository (f);//设置缓存大小,如果文件大于缓存大小时,则先把文件放到缓存中 工厂。setSizeThreshold (1 * 1024 * 1024); ServletFileUpload上传=new ServletFileUpload(工厂);//设置可以上传文件大小的上界20 mb 上传。setSizeMax (20 * 1024 * 1024); 尝试{//可以上传多个文件 List列表=(List JavaWeb中上传和下载文件实例代码