文件上传struts2 实现文件上传功能(2)

xiaoxiao2022-06-11  27

(二)手动采用fileupload组建进行文件上传upload2.jsp

 1 <% @ page language="java" contentType="text/html; charset=GB18030" 2    pageEncoding="GB18030" %>  3 <! DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >  4 < html >  5      < head >  6          < meta  http-equiv ="Content-Type"  content ="text/html; charset=GB18030" >  7          < title > Insert title here </ title >  8      </ head >  9      < body > 10          < form  action ="/MyStruts2/UploadServlet"  method ="post"  enctype ="multipart/form-data" > 11             username: 12              < input  type ="text"  name ="username" > 13              < br > 14             password: 15              < input  type ="password"  name ="password" > 16              < br > 17             file1: 18              < input  type ="file"  name ="file1" > 19              < br > 20             file2: 21              < input  type ="file"  name ="file2" > 22              < br > 23              < input  type ="submit"  value =" submit " > 24          </ form > 25      </ body > 26 </ html > web.xml中的配置    < servlet >      < servlet-name > UploadServlet </ servlet-name >      < servlet-class > com.test.servlet.UploadServlet </ servlet-class >    </ servlet >    < servlet-mapping >      < servlet-name > UploadServlet </ servlet-name >      < url-pattern > /UploadServlet </ url-pattern >    </ servlet-mapping > UploadServle.java  1 package  com.test.servlet;  2  3 import  java.io.File;  4 import  java.io.FileOutputStream;  5 import  java.io.IOException;  6 import  java.io.InputStream;  7 import  java.io.OutputStream;  8 import  java.util.List;  9 10 import  javax.servlet.ServletException; 11 import  javax.servlet.http.HttpServlet; 12 import  javax.servlet.http.HttpServletRequest; 13 import  javax.servlet.http.HttpServletResponse; 14 15 import  org.apache.commons.fileupload.FileItem; 16 import  org.apache.commons.fileupload.FileUploadException; 17 import  org.apache.commons.fileupload.disk.DiskFileItemFactory; 18 import  org.apache.commons.fileupload.servlet.ServletFileUpload; 19 20 @SuppressWarnings( " serial " ) 21 public   class  UploadServlet  extends  HttpServlet  {22    @SuppressWarnings( "unchecked""deprecation" })23    public void doPost(HttpServletRequest request, HttpServletResponse response)24            throws ServletException, IOException {2526        DiskFileItemFactory factory = new DiskFileItemFactory();2728        String path = request.getRealPath("/upload");2930        factory.setRepository(new File(path));3132        factory.setSizeThreshold(1024 * 1024);3334        ServletFileUpload upload = new ServletFileUpload(factory);3536        try {37            List<FileItem> list = upload.parseRequest(request);3839            for (FileItem item : list) {40                if (item.isFormField()) {41                    String name = item.getFieldName();4243                    String value = item.getString("gbk");4445                    System.out.println(name);4647                    request.setAttribute(name, value);48                } else {49                    String name = item.getFieldName();5051                    String value = item.getName();5253                    int start = value.lastIndexOf("\\");5455                    String fileName = value.substring(start + 1);5657                    request.setAttribute(name, fileName);5859                    item.write(new File(path, fileName));6061                    OutputStream os = new FileOutputStream(new File(path,62                            fileName));6364                    InputStream is = item.getInputStream();6566                    byte[] buffer = new byte[400];6768                    int length = 0;6970                    while ((length = is.read(buffer)) > 0{71                        os.write(buffer, 0, length);72                    }7374                    os.close();7576                    is.close();7778                }79            }80        }8182        catch (Exception ex) {83            ex.printStackTrace();84        }85        request.getRequestDispatcher("upload/result2.jsp").forward(request,86                response);87    }8889} 结果: 相关资源:ajaxFileUpload struts2实现多文件上传(源码)
转载请注明原文地址: https://www.6miu.com/read-4931738.html

最新回复(0)