JSP 上传文件详解编程语言


<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5"  
    xmlns="http://java.sun.com/xml/ns/javaee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
  <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
  </welcome-file-list> 
  <servlet> 
      <servlet-name>FileUpload</servlet-name> 
      <servlet-class>servlets.FileUpload</servlet-class> 
  </servlet> 
  <servlet-mapping> 
      <servlet-name>FileUpload</servlet-name> 
      <url-pattern>/FileUpload</url-pattern> 
  </servlet-mapping> 
</web-app>


 

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
  <head> 
    <base href="<%=basePath%>"> 
     
    <title>文件上传</title> 
     
    <meta http-equiv="pragma" content="no-cache"> 
    <meta http-equiv="cache-control" content="no-cache"> 
    <meta http-equiv="expires" content="0">     
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
    <meta http-equiv="description" content="This is my page"> 
    <!-- 
    <link rel="stylesheet" type="text/css" href="styles.css"> 
    --> 
 
  </head> 
   
  <body> 
    <form method="post" action="FileUpload" ENCTYPE="multipart/form-data"> 
        文件:<input type="file" name="file"> 
        <input type="submit" value="上传" name="submit"> 
    </form> 
  </body> 
</html>
package servlets; 
 
import java.io.File; 
import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.Iterator; 
 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
import org.apache.commons.fileupload.FileItem; 
import org.apache.commons.fileupload.FileItemFactory; 
import org.apache.commons.fileupload.disk.DiskFileItemFactory; 
import org.apache.commons.fileupload.servlet.ServletFileUpload; 
 
public class FileUpload extends HttpServlet{ 
    @Override 
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
            throws ServletException, IOException { 
        // TODO Auto-generated method stub 
        // TODO Auto-generated method stub 
        boolean isMultipart = ServletFileUpload.isMultipartContent(req); 
        if(isMultipart){ 
            FileItemFactory factory = new DiskFileItemFactory(); 
            ServletFileUpload upload = new ServletFileUpload(factory); 
            Iterator items; 
            try { 
                items = upload.parseRequest(req).iterator(); 
                while(items.hasNext()){ 
                    FileItem item = (FileItem) items.next(); 
                    if(!item.isFormField()){ 
                        //取出上传文件的文件名称 
                        String name = item.getName(); 
                        String fileName = name.substring(name.lastIndexOf("//")+1, name.length()); 
                        //String path = req.getRealPath("file") + File.separatorChar + fileName; 
                        String path = "D://" + fileName; 
                        //上传文件 
                        File uploadedFile = new File(path); 
                        item.write(uploadedFile); 
                        //打印上传成功信息 
                        resp.setContentType("text/html"); 
                        resp.setCharacterEncoding("gb2312"); 
                        PrintWriter out = resp.getWriter(); 
                        out.print("<font size='2'>上传的文件为:"+ name + "<br>"); 
                        out.print("保存地址为:"+path+"</font>"); 
                    } 
                } 
            } catch (Exception e) { 
                // TODO: handle exception 
                e.printStackTrace(); 
            } 
        } 
    } 
}

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/industrynews/13372.html

(0)
上一篇 2021年7月19日 15:45
下一篇 2021年7月19日 15:45

相关推荐

发表回复

登录后才能评论