【重构】 利用 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>
时间: 2024-08-23 11:07:55

【重构】 利用 cos 组件实现jsp中上传附件的相关文章

jsp实现文件上传(二)用cos组件实现文件上传

jsp表单 <%@ page language="java" pageEncoding="utf-8"%> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <form action="cos.jsp" method="post" en

修改WordPress中上传附件2M大小限制的方法/php+iis上传附件默认大小修改方法

在服务器上架设好WordPress后,使用过程中发现,上传附件大小有2M的限制 话说服务器就是本机,可以直接把文件拖到附件存储文件夹下,然后在需要附件的地方引用链接 可是这种落后的方法终究不是办法,还是应该修改大小限制,使用才方便. 在网搜了一下,方法有挺多,但大部分都是不完整信息的重复,下面说说我最后更改的方法,仅供参考. 服务器版本是:Windows Server 2003 SP2 WordPress架设:IIS+PHP+MySql 1.首先在网站根目录下建一个info.php文件 例如:D

jeecg中上传附件的处理

在jeecg中如果用了formvalid标签来生成表单代码的话,是不能同时提交附件的,比如最常用的html标签 input type="file"是不能用的,后台接收不到附件,具体原因是因为jeecg中都是用ajax的方式来提交表单并且不支持附件的处理,如果要在表单中同时提交附件,只能使用jeecg的upload标签,并且附件的提交和表单其它参数的提交实际上是分两步来处理的,具体实现过程如下: 在需要上传附件的地方增加upload标签: <t:upload name="

(七)利用apache组件进行文件上传下载

一.文件上传 文件上传,即服务器端得到并处理用户上传的文件,这个文件存放在request里,也就是需要对request进行处理. 1.1 编写html文件 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action=&q

利用apache组件实现文件上传

实现文件上传需要引入: commons-fileupload-1.3.2.jar commons-io-2.5.jar commons-logging-1.2.jar 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Insert title here</title> 6 </head> 7 <body>

【解决Chrome浏览器和IE浏览器上传附件兼容的问题 -- Chrome关闭flash后,uploadify插件不可用的解决办法】

项目中遇到过这种情况: 利用uploadify插件在IE和chrome浏览器中上传附件正常, 突然有一天chrome禁用了flash插件,uploadify插件在chrome中就不能正常使用了,IE上正常. ========================================================================= ========================================================================

bugfree 中不能上传附件

前些日子领导让搭建一个bug管理系统,因为我没用过,所以问了下测试,看他们对那个比较熟悉,然后就搭建了bugfree.但是在使用了一段时间之后测试人员发现不能上传附件了, 首先排除了mysql的问题, 那就是php的问题 按照网上的解释,php上传也是限制大小的 修改/etc/php.ini 按照上面的修改后发现还是不能上传,那么问题出在哪儿了呢 3.  可能是apache服务器根本没有读到php.ini配置文件,那么怎么知道apache服务到底读的是php的那个配置文件呢,于是乎在apache

nodeJs上传附件

两种方案: 这两种方案传参还是有区别额 在nodeJs中上传附件调用了 multer 的中间件,采用这个中间件来上传 首先是表单(前端部分): <!DOCTYPE html> <html> <head> <title>nodejs文件上传</title> <script src="/javascripts/jquery.min.js"></script> </head> <body&g

web程序中上传和下载功能的详解

在web程序中上传和下载是两大常用模块 上传可以利用fileupload的包来帮助完成 下载地址为:http://commons.apache.org/fileupload/. 此外FileUpload 依赖 Commons IO, 所以你需要在你的classpath中引入最新的 commons-io包, 下载地址为:http://commons.apache.org/io/. 那web程序中是如何进行上传的呢? 首先,我们建立一个uploadFile.jsp以供用户上传本地信息. 其中form