`
peng_jian_ming
  • 浏览: 260160 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Java上传文件实例

    博客分类:
  • Java
阅读更多
package com.yc.eap.util;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadBase;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.log4j.Logger;

public class UpLoad {

public static final Logger logger = Logger.getLogger(UpLoad.class);
private HttpServletRequest request = null;
private static int fileSize = 200;
private String filePath;
private Map<String,Object> map = new HashMap<String,Object>();

public UpLoad(HttpServletRequest request){
this.request = request;
}

public void upLoad() throws Exception{
    String name = null;
    DiskFileUpload fu = new DiskFileUpload();
    /**用于设定请求消息中实体内容的最大允许大小,这里设置最大上传文件的大小为200M*/
    fu.setSizeMax(fileSize*1024*1024);
    /**设置用临时文件来存放临时解析出的数据值,临时数据值的临界值为1M*/
    fu.setSizeThreshold(1024*1024);
    /**用于存放临时文件的存放目录,必需为绝对路径,如果不设定将存放在Tomcat目录下的temp文件下*/
    fu.setRepositoryPath("/temp/upload/");
    /**parseRequest(request)方法是DiskFileUpload的重要方法是Http请求的入口,如果请求消息中的实体不是
     * "multipart/form-data",该方法将抛出异常*/
    FileUploadBase.isMultipartContent(request);
    List filelist = null;
try {
filelist = fu.parseRequest(request);
} catch (FileUploadException e) {
logger.info("消息实体不是multipart/form-data类型"+e.getMessage());
map.put("flag", "false");

}
Iterator i = filelist.listIterator();
    while(i.hasNext()){
    FileItem fi = (FileItem)i.next();
    if(fi.isFormField()){
    String fieldName = fi.getFieldName();
    String fieldValue = fi.getString();
    map.put(fieldName, fieldValue);
    }else{
    String fileName = fi.getName();
    if(fileName.trim().equals("")){
    continue;
    }else{
    int start = fileName.lastIndexOf('\\');
    name = this.produceName()+fileName.substring(start+1);
    /**此处需要设置获取应用的路径名称用来存放文件*/
    File file = null;
    if(this.filePath==null || "".equals(this.filePath)){
    file = new File("D:/tomcat-eap/webapps/eap/upLoad/",name);
    /**如果文件已经存在,则删除原有文件,上传新文件覆盖原有文件。*/
    if(file.exists()){
    file.delete();
    }
    }else{
    file = new File(this.filePath,name);
    /**如果文件已经存在,则删除原有文件,上传新文件覆盖原有文件。*/
    if(file.exists()){
    file.delete();
    }
    }
    try{
fi.write(file);
map.put("flag", "true");
} catch (Exception e) {
logger.info("文件写入错误"+e.getMessage());
throw e;
}finally{
fi.delete();
map.put("flag", "false");
}
    }
    }
    }

}

public String getFilePath() {
return filePath;
}

public void setFilePath(String filePath) {
this.filePath = filePath;
}

public String getParameter(String key){
return (String)map.get(key);
}

public static UpLoad getInstance(HttpServletRequest request) {
return new UpLoad(request);
}
/**通过日期函数进行区分,保证同时上传文件不会冲突*/
private String produceName(){
Calendar ca = Calendar.getInstance();
ca.setTime(new java.util.Date());
SimpleDateFormat simple = new SimpleDateFormat("yyyyMMddkkmmss");
String date = simple.format(ca.getTime());
return date;
}

}
分享到:
评论

相关推荐

    java上传文件实例

    上传文件 &lt;/head&gt; 上传"&gt; &lt;/form&gt;&lt;/td&gt; if(null != request.getParameter("flag")){ SmartUpload mySmartUpload =new SmartUpload(); long file_size_max=4000000; String fileName2="",ext="",testvar=...

    java上传文件jar

    标题提到的"java上传文件jar"实际上指的是两个关键的Java库,它们是Apache Commons IO和Apache Commons FileUpload。这两个库提供了强大的文件操作和文件上传功能,是Java开发者处理文件上传问题的得力助手。 首先...

    通过java向fastdfs上传文件实例

    `upload_file1`方法用于上传文件,第一个参数是本地文件路径,第二个参数是文件扩展名,第三个参数通常为null,表示不进行文件元数据的设置。 上传成功后,FastDFS会返回一个全局唯一标识符(Global ID),这个ID由...

    Java 上传文件到 SharePoint

    总之,Java上传文件到SharePoint是一个涉及网络通信、文件操作和认证授权的复杂过程。理解并掌握这些概念,结合适当的工具或库,可以有效地实现文件在Java应用和SharePoint之间的传输。在阅读给定的博客文章...

    java上传下载实例

    首先,Java上传文件通常涉及到Servlet API,特别是HttpServletRequest对象,它提供了获取上传文件的方法。例如,通过`request.getParts()`或`request.getParameter("file")`可以获取到上传的文件Part对象。在Struts2...

    java文件上传实例

    在这个“java文件上传实例”中,我们将深入探讨如何实现这一功能,并结合拦截器来增强上传的安全性和可控性。文件上传的流程通常包括前端页面的构建、后端接口的设计以及中间件的处理,而拦截器则可以用来进行权限...

    java实现上传文件类型检测过程解析

    以下是 Java 实现上传文件类型检测过程解析的示例代码: ```java import java.io.*; import java.util.HashMap; public class GetFileType { // 缓存文件头信息-文件头信息 public static final HashMap, String...

    java文件异步上传

    Java文件异步上传是一种在Web应用中常见的技术,它允许用户在不阻塞浏览器界面的情况下上传文件。这种技术尤其在处理大文件或者批量上传时,能够显著提升用户体验,因为它们不会冻结页面,允许用户继续与应用程序...

    java实现上传文件到oss(阿里云)功能示例

    Java 实现上传文件到 OSS(阿里云)的功能示例 Java 实现上传文件到 OSS(阿里云)的功能示例是指通过 Java 语言实现将文件上传到阿里云对象存储服务(OSS)的功能。本示例主要介绍了 Java 实现上传文件到 OSS 的...

    java上传本地文件到oss指定目录

    总之,Java上传本地文件到阿里云OSS涉及到的知识点包括:阿里云OSS服务的使用、OSS Java SDK的集成、身份验证、文件上传操作、以及可能的高级特性如断点续传和元数据管理。通过合理利用这些知识,开发者可以构建出...

    文件上传实例-JAVA

    在Java编程领域,文件上传是...总的来说,这个"文件上传实例-JAVA"提供了一个基础的文件上传实现,可以帮助开发者理解文件上传的核心概念和流程。实际开发中,可以根据项目需求和安全规范,进一步完善和优化这个实例。

    java上传文件到ftp.txt

    ### Java上传文件到FTP知识点详解 #### 一、概述 在现代软件开发中,文件传输是一项常见的需求。其中,FTP(文件传输协议)是最常用的一种文件传输方式之一。本篇文章将详细阐述如何利用Java编程语言实现本地文件...

    Java 批量上传文件实例

    综上所述,Java批量上传文件实例涉及到的关键技术包括:HTML5多文件选择、Multipart HTTP请求、Commons-FileUpload库的使用以及Servlet的文件处理。在实际开发中,还需要结合具体业务需求,进行安全性和性能优化。

    JAVA SFTP文件上传、下载及批量下载实例

    在上面的示例代码中,我们创建了一个SFTPUtils类,其中包含了连接SFTP服务器、上传文件、下载文件等方法。这些方法使用JSch库来实现SFTP的功能。 在实际应用中,我们可以根据需要封装成一个util类,提供给其他应用...

    java 实现上传文件到远程服务器

    ### Java 实现上传文件到远程服务器(Spring MVC) 在现代软件开发中,文件上传功能是十分常见的需求之一,尤其在Web应用中。本篇文章将详细介绍如何利用Java编程语言结合Spring MVC框架来实现文件的远程上传功能。...

    java上传文件到服务器

    以上就是使用Java上传文件到服务器的基本流程和技术要点。在实际开发中,你可能还需要结合具体的框架(如Spring Boot)和业务需求进行调整和扩展。记得在处理文件时始终关注安全性、性能和可维护性。

    java上传文件代码

    在Java编程语言中,上传文件是一项常见的任务,广泛应用于各种应用程序,如Web服务、云存储接口等。这里我们将深入探讨如何使用Java实现文件上传功能,同时结合提供的描述,我们可以假设包含三个示例文本文件(txt...

    java多文件上传实现

    在处理上传文件时,安全问题不容忽视。应验证文件类型、大小,避免上传恶意文件。可以使用`contentType`属性检查文件类型,限制上传大小,确保文件名安全,避免路径遍历攻击。 7. **数据库存储**: 文件上传后,...

    Java文件上传下载实例(含详细注释)

    - 使用FileUpload库解析请求,获取上传文件的`Part`对象。 - 将`Part`对象转换为`InputStream`,读取文件内容。 - 在服务器上选择一个保存位置,创建目标文件并写入数据。 - 处理可能出现的异常,如文件大小限制...

    Java 文件上传的实例详解

    在本文中,我们将详细介绍 Java 文件上传的实例详解,包括使用 JSmartUpload 组件上传文件、使用 Servlet 上传文件等方法。 1. 使用 JSmartUpload 组件上传文件 JSmartUpload 是一个流行的 Java 文件上传组件,...

Global site tag (gtag.js) - Google Analytics