`
DoubleEO
  • 浏览: 158186 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

上传文件(使用apache commons.fileupload)

    博客分类:
  • j2ee
阅读更多
jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>File upload</title>
</head>
<body>
<form name="myform" action="/Fileupload" method="post" enctype="multipart/form-data">
    File:<br>
    <input type="file" name="myfile"><br><br>

    <input type="submit" name="submit" id="submit" value="Commit">
</form>
</body>
</html>


Fileupload.java
public class Fileupload extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {

        try {
            //构建上传路径
            String uploadPath = getServletContext().getRealPath("/upload"); // 上传文件的真正存储目录
            //String uploadPath = "F:/excise/web/upload";
            File uploadFile = new File(uploadPath);//获得目录对象
            //如果不存在,则创建该目录
            if (!uploadFile.exists()) {
                uploadFile.mkdir();
            }
            //建立系统临时文件目录,用于构建DiskFileItemFactory
            File tempfile = new File(System.getProperty("java.io.tmpdir"));
            DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
            diskFileItemFactory.setSizeThreshold(4096);  // 设置缓冲区大小4kb
            diskFileItemFactory.setRepository(tempfile);  //设置临时目录
            ServletFileUpload fu = new ServletFileUpload(diskFileItemFactory); //处理上传文件的对象
            fu.setHeaderEncoding("utf-8");//设置编码,否则为乱码
            fu.setSizeMax(4194304);//设置文件大小
            List<FileItem> fileItems = fu.parseRequest(request);  //解析上传文件请求,返回一个List
            for (FileItem fi : fileItems) {
                String fileName = fi.getName();
                if (fileName != null) {
                    File fullFile = new File(fileName);
                    File savedFile = new File(uploadPath, fullFile.getName());
                    fi.write(savedFile); //将上传的文件写入指定位置,设置指定名称
                }
            }
            System.out.println("upload succeed");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

分享到:
评论

相关推荐

    基于apache commons.fileupload的文件上传组件,改进了上传速度

    apache commons.fileupload上传组件在上传文件时,在调用parseRequest方法时,先将输入流上传到服务器临时目录,在之后的文件处理过程中,再将临时目录下保存的文件复制到指定的目录,多了一道转储步骤。本实现抽取...

    利用org.apache.commons.fileupload上传多个文件

    在使用 Apache Commons FileUpload 进行文件上传之前,你需要确保以下组件已经准备就绪: 1. **引入依赖**:首先,你需要下载并添加 `org.apache.commons.io` 和 `log4j` 的 JAR 包到你的项目类路径中。在本例中,`...

    基于apache commons.fileupload的文件上传组件

    在创建一个基于Apache Commons FileUpload的文件上传组件时,通常会包含以下步骤: 1. 创建`DiskFileItemFactory`实例。 2. 使用工厂创建`ServletFileUpload`实例,设置大小限制。 3. 解析`HttpServletRequest`对象...

    com.springsource.org.apache.commons.fileupload-1.2.0.jar

    jar包资源分享,你懂的: com.springsource.org.apache.commons.fileupload-1.2.0.jar

    org.apache.commons.fileupload.DiskFileUpload使用上

    `org.apache.commons.fileupload.DiskFileUpload` 是 Apache Commons FileUpload 模块中的一个类,主要用于处理 HTTP 请求中的文件上传。这个类实现了基于磁盘的文件上传存储策略,当上传文件大小超过内存阈值时,它...

    com.springsource.org.apache.commons.fileupload-1.2.1.jar

    com.springsource.org.apache.commons.fileupload 自己打入本地Jar包即可

    org.apache.commons.fileupload 文件上传至数据库

    标题“org.apache.commons.fileupload 文件上传至数据库”指的是使用Apache Commons FileUpload库将用户上传的文件存储到数据库中的技术。Apache Commons FileUpload是Apache软件基金会的一个开源项目,它提供了一个...

    org.apache.commons.fileupload-1.2.2

    java上传文件锁必须的jar包,org.apache.commons.fileupload-1.2.2.LIFERAY-PATCHED-1

    org.apache.commons.fileupload

    使用Apache Commons FileUpload,开发者可以编写更安全、高效且易于维护的文件上传代码,而无需关注底层的复杂性。在实际应用中,配合使用Spring MVC或其他Web框架,可以轻松地集成文件上传功能,提高用户体验。

    maven实现的commons-fileupload的demo

    在Java Web开发中,文件上传是一项常见的功能,Apache Commons FileUpload库是实现这一功能的强大工具。本示例将深入解析如何结合Maven构建一个基于Servlet的文件上传演示项目。Maven是一个项目管理工具,它可以帮助...

    commons.fileupload-1.2.0

    综上所述,Apache Commons FileUpload 1.2.0是一个用于处理HTTP文件上传的Java库,它与Apache Commons IO库配合使用,提供了处理上传文件的强大功能。开发人员可以利用这些库轻松地在Web应用中实现文件上传功能,并...

    commons-fileupload使用例子

    本篇文章将详细介绍如何使用Apache Commons FileUpload来实现文件上传操作。 首先,我们需要了解HTTP协议在处理文件上传时的机制。通常,文件上传是通过`multipart/form-data`编码类型实现的,这种编码方式允许在...

    org.apache.commons-fileupload-1.2.1.jar及上传文件的Demo

    总的来说,Apache Commons FileUpload简化了Java Web应用中的文件上传处理,使得开发者能够更专注于业务逻辑,而不是底层的文件处理细节。通过深入理解和实践提供的Demo,开发者可以更好地掌握这一强大工具的用法。

    commons-fileupload及源码

    总结起来,Apache Commons FileUpload是一个强大的、高度可配置的文件上传组件,它简化了Java Web应用中处理文件上传的复杂性。通过结合使用`commons-fileupload-1.3.1.jar`和`commons-fileupload-1.3.1-sources.jar...

    org.apache.commons相关的所以jar包

    org.apache.commons相关的所以jar包,包括commons-beanutils-1.8.0-bin.zip;commons-betwixt-0.8.zip;commons-cli-1.1.zip;commons-codec-1.3.zip;commons-collections-3.2.1-bin.zip;commons-digester-1.8.zip...

    commons-fileupload-1.3.2jar包和commons-io-2.5jar包.zip

    Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传和I/O操作的重要库。这两个库在处理Web应用,特别是基于JSP(JavaServer Pages)的文件上传功能时,扮演着核心角色。在这个主题中,我们将...

    上传文件必备jar包-commons.fileupload-1.2.1.jar和commons.io-1.4.0.jar

    `commons-fileupload-1.2.1.jar` 是Apache Commons FileUpload库的一个版本,它是专门为处理HTTP请求中的多部分数据(即表单文件上传)设计的。这个库能够解析HTTP请求,将上传的文件内容分离出来,并将其存储到临时...

    Apache Commons fileUpload实现文件上传

    本篇文章将详细介绍如何使用 Apache Commons fileUpload 进行文件上传操作,并给出四个具体的示例来帮助读者更好地理解这一过程。 #### 准备工作 在开始之前,我们需要确保项目环境中已经包含了必要的 jar 包。...

    swfupload使用org.apache.commons.fileupload 实现上传文件

    在本教程中,我们将深入探讨如何使用SwfUpload与`org.apache.commons.fileupload`库来实现文件上传功能。 Apache Commons FileUpload 是一个Java库,专门用于处理HTTP请求中的多部分数据,也就是通常用于文件上传的...

Global site tag (gtag.js) - Google Analytics