• 【重构】 利用 cos 组件实现jsp中上传附件


    利用JSP&Servlet重构项目 利用 cos 组件实现jsp中上传附件

    fileUpload.jsp --> FileUploadController.java --> fileUploadResult.jsp

    fileUpload.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>文件上传demo</title>
    <link href="/web01//css/main.css" rel="stylesheet" type="text/css" />
    </head>
    <%@ include file="top.jsp" %>
    <body>
        <form action="/web01/fileUploadController" name="frm1" method="post" enctype="multipart/form-data">
            文件名:<input type="file" name="file1" size="50"><br>
            <input type="submit" value="上传">
        </form>
    </body>
    <%@ include file="bottom.jsp" %>
    </html>

    FileUploadController.java

    package com.test.IF.controller;
    
    import java.io.IOException;
    import java.util.Enumeration;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.oreilly.servlet.MultipartRequest;
    import com.oreilly.servlet.multipart.DefaultFileRenamePolicy;
    
    /**
     * Servlet implementation class FileUploadController
     */
    @WebServlet("/fileUploadController")
    public class FileUploadController extends HttpServlet {
        private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public FileUploadController() {
            super();
        }
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            this.doPost(request, response);
        }
    
        /**
         * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // 文件要保存的路径
            String savePath = "d:/test/uploadfile/";
            
            int sizeLimit = 30 * 1024 * 1024;
            String fileName = "";
            String fileSystemName = "";
            long fileSize = 0;
            
            MultipartRequest multi = new MultipartRequest(request, savePath, sizeLimit, "UTF-8", new DefaultFileRenamePolicy());
            
            Enumeration fileNames = multi.getFileNames();
            while (fileNames.hasMoreElements()) {
                fileName = (String) fileNames.nextElement();
                fileSystemName = multi.getFilesystemName(fileName);
                
                if (fileSystemName != null) {
                    fileSize = multi.getFile(fileName).length() / 1024;
                }
            }
    
            request.setAttribute("fileSystemName", fileSystemName);
            request.setAttribute("fileSize", fileSize);
            request.getRequestDispatcher("/view/fileUploadResult.jsp").forward(request, response);
        }
    
    }

    fileUploadResult.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>文件上传demo</title>
    <link href="/web01//css/main.css" rel="stylesheet" type="text/css" />
    </head>
    <%@ include file="top.jsp" %>
    <body>
    文件上传成功!<br>
    文件名:<c:out value="${requestScope.fileSystemName }"></c:out><br>
    文件大小:<c:out value="${requestScope.fileSize }"></c:out>
    </body>
    <%@ include file="bottom.jsp" %>
    </html>
  • 相关阅读:
    检测.netcore环境是否安装
    vc获取特殊路径
    vc 获取系统版本
    vs2019集成vcpkg
    vc 打开外部线程并等待结束
    cmd常用命令
    nodejs mongodb3.6.2 insertOne callback问题
    Effective Python Ver2.0_StudyNotes___getattr__、__getattribute__及__setattr__的一些知识点
    Python数据类型--集合简介
    Effective Python Ver2.0_StudyNotes_用描述符来改写需要复用的@property方法
  • 原文地址:https://www.cnblogs.com/seabird1979/p/4885240.html
Copyright © 2020-2023  润新知