`

使用COS组件进行文件上传

阅读更多
大文件的上传速度很关键....
一般在struts中都是使用自带的上传组件...

COS相对于别的上传组件,如fileupload,smartupload,有多优秀http://tmsoft.lsxy.com/index.php?load=read&id=401

COS与stuts结合使用有些问题:http://www.iteye.com/topic/137478

COS的一般知识http://tmsoft.lsxy.com/index.php?load=read&id=404

直接在JSP中制作...
<%@ page contentType="text/html; charset=GBK"%>   
<html>   
    <body>   
        <form name="form1" method="post" enctype="multipart/form-data"  
            action="upload.jsp">   
            <input name="file1" type="file"><br>   
            <input name="file2" type="file"><br>   
            <input name="file3" type="file"><br>   
            <input type="submit" name="Submit"  value="上传">   
        </form>   
    </body>   
</html>  


<%@ page contentType="text/html; charset=gb2312" %>   
<%@ page import="java.util.Enumeration"%>   
<%@ page import="com.oreilly.servlet.MultipartRequest" %>   
<%@ page import="java.io.File" %>   
<html>   
  <head>   
  </head>   
  <body>   
    <%   
    String saveDirectory = "c:\\upload";   
    //每个文件最大5m,最多3个文件       
    int maxPostSize = 3 * 5 * 1024 * 1024;   
    //response的编码为"gb2312",同时采用缺省的文件名冲突解决策略,实现上传      
    MultipartRequest multi = new MultipartRequest(request,saveDirectory,    
        maxPostSize, "gb2312");   
    //输出反馈信息      
    Enumeration file = multi.getFileNames();   
    while (file.hasMoreElements()) {   
        String name = (String) file.nextElement();   
        File f = multi.getFile(name);   
        if (f != null) {   
            String fileName = multi.getFilesystemName(name);   
            String lastFileName = saveDirectory + "\\" + fileName;   
            out.println("文件已经上传到:" + lastFileName);   
            out.println("<br>");   
            }   
        }   
    %>   
  </body>   
</html>  



考虑到自己的项目需要,我使用了自己的命名策略,只要实现了FileRenamePolicy接口中的rename(File file)方法即可,实现非常方便,COS有个默认的命名策略DefaultFileRenamePolicy,只要存在重名,就会在文件名后面加上1.2.3....等数字,不想麻烦的就可以直接以下代码:
RandomFileRenamePolicy rfrp=new RandomFileRenamePolicy();
MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize,"gb2312",rfrp);
    //替换成:

    MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize,"gb2312);

最后附上我自己的命名策略文件(其实就是简单地用时间戳命名而已)。
import java.io.File;
import java.util.Date;

import com.oreilly.servlet.multipart.FileRenamePolicy;


public class RandomFileRenamePolicy implements
        FileRenamePolicy ...{

    public File rename(File file) ...{
        // TODO Auto-generated method stub
        String body="";
        String ext="";
        int pot=file.getName().lastIndexOf(".");
        if(pot!=-1)...{
            body=(new Date()).getTime()+"";
            ext=file.getName().substring(pot);
        }else...{
            body=(new Date()).getTime()+"";
            ext="";
        }
        String newName=body+ext;
        file=new File(file.getParent(),newName);
        return file;
    }

}

分享到:
评论

相关推荐

    文件上传需要cos组件:cos-26Dec2008.jar

    使用COS组件进行文件上传,首先要确保项目中已经正确引入了"Cos-26Dec2008.jar"。通常,这可以通过Maven或Gradle等依赖管理工具完成。如果选择手动添加,需要将该jar文件放入项目的类路径中,例如`lib`目录,并确保...

    Java Web上传组件使用:Cos

    本篇将详细讲解如何在Java Web项目中集成并使用COS组件进行文件上传操作。 1. **COS组件介绍** COS组件通常是由云服务提供商提供的,它允许开发者将文件存储到云端,以实现高效、安全的数据存储和访问。腾讯云的...

    使用fileupload组件实现文件上传功能

    使用fileupload组件实现文件上传功能 FileUpload组件是Apache提供的一款文件上传组件,能够帮助我们轻松实现文件上传功能。下面我们将详细介绍使用FileUpload组件实现文件上传功能的步骤和要点: 首先,需要引入两...

    Cos组件实现上传下载

    本文所提到的“Cos组件”并非特指腾讯云的COS服务,而是泛指一种用于实现文件上传下载功能的技术方案。在此基础上,我们将探讨具体的实现细节。 #### 三、文件上传的关键步骤 文件上传涉及到客户端(浏览器)和...

    Cos组件及示例

    在描述中提到的“Cos组件上传及简单的应用实例”,意味着我们将探讨如何使用COS提供的SDK或组件来实现文件的上传操作,并了解如何在实际的企业级开发中应用这些功能。这通常涉及到以下几个关键步骤: 1. **SDK集成*...

    Java文件上传组件 COS

    Java文件上传组件COS,全称为Cloud Object Storage,是由腾讯云提供的一种云存储服务,它支持高可用、高并发的文件存储与访问。在Java开发中,COS提供了丰富的SDK和API,使得开发者能够轻松地将应用程序与云端存储...

    jsp里面用cos进行文件上传

    本文将重点介绍如何使用Cos组件来实现文件上传功能。 #### Cos组件简介 Cos(Common Object Services)组件是由O'Reilly公司开发的一个开源项目,专门用于处理文件上传操作。相比于其他商业组件或框架内置的功能,...

    自制jquery+SWFUpload+COS 多文件上传组件

    标题中的“自制jquery+SWFUpload+COS 多文件上传组件”揭示了这个项目的核心:一个结合了jQuery、SWFUpload和腾讯云对象存储(COS)服务的多文件上传工具。这个组件允许用户在网页上批量上传文件,并将它们存储到...

    jquery+SWFUpload+COS上传组件的使用

    jquery+SWFUpload+COS上传组件的使用 jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件的使用jquery+SWFUpload+COS上传组件...

    基于java的开发源码-文件上传组件 COS.zip

    基于java的开发源码-文件上传组件 COS.zip 基于java的开发源码-文件上传组件 COS.zip 基于java的开发源码-文件上传组件 COS.zip 基于java的开发源码-文件上传组件 COS.zip 基于java的开发源码-文件上传组件 COS.zip ...

    最新cos组件和示例

    cos组件上传及简单的应用实例,包括了企业级的开发,以及相应的包 和API 文件上传的改进: 增加了对于Servlet 2.4和Java 5的支持。 增加了一个ExceededSizeException类型的捕捉更容易。 增加了支持EBCDIC机。 增加...

    文件上传组件的比较

    首先,从提供的数据来看,Cos组件在上传大文件时表现出色,尤其在200M的文件上传测试中,相比于FileUpload和SmartUpload,其平均耗时显著减少,证明了它的高效性。在小文件上传方面,虽然Cos与FileUpload的差距不大...

    COS框架实现上传稍加修改即可实现多文件上传

    本文将深入探讨如何使用COS框架实现单文件上传,并进一步说明如何通过稍加修改实现多文件上传。 首先,让我们了解COS的基本概念。COS是一种分布式存储服务,它允许用户存储和检索任意数量的数据,无论数据大小。...

    Java中使用COS实现文件上传功能

    Java中使用COS实现文件上传功能是通过使用O'Rrilly公司开发的OpenSource组件COS来实现的,该组件用于HTTP上传文件。下面将详细介绍使用COS实现文件上传功能的过程。 首先,需要下载COS的jar包,下载地址是...

    cos.jar文件下载,cos.jar下载。

    " 指的是腾讯云对象存储服务(Cloud Object Storage,简称COS)的Java SDK,它是一个关键的开发组件,主要用于Java开发者在应用程序中实现对腾讯云COS的文件上传、下载等操作。这个jar包包含了必要的类和方法,使得...

    jquery+SWFUpload+COS上传组件的使用.doc

    jQuery + SWFUpload + COS(腾讯云对象存储)上传组件提供了一种高效、友好的文件上传解决方案。本文档旨在详细介绍如何使用这个组合实现高效的文件上传功能。 **1. 组件介绍** jQuery是一个广泛使用的JavaScript...

    smartupload/fileupload/cos三种常用下载组件

    总之,理解并熟练掌握这些组件的使用,能够帮助开发者构建高效、稳定的文件上传和下载功能,提升Web应用的用户体验。在实际开发过程中,开发者需要考虑安全性、性能以及可扩展性,合理地选择和组合这些工具,以达到...

    基于Java的文件上传组件 COS.zip

    【描述】基于Java的文件上传组件COS.zip包含了一些关键组成部分,用于帮助开发者快速集成和使用该组件: 1. **license.txt**: 这个文件通常包含了软件的许可协议,定义了用户可以如何使用、修改和分发代码。阅读并...

    性能最好的Java文件上传组件

    使用基于COS的Java文件上传组件,开发者可以享受到以下优势: 1. **高性能**:优化的上传策略可以减少网络延迟,提高上传速度。 2. **高可用性**:云存储服务通常具有高可用性和高扩展性,能应对大流量的上传需求。 ...

    基于java的文件上传组件 COS.zip

    【标题】"基于Java的文件上传组件COS.zip"指的是一个使用Java语言开发的文件上传组件,该组件可能被设计用于将用户端的文件上传到特定的存储服务,如腾讯云对象存储(COS,Cloud Object Storage)。这个组件可能是...

Global site tag (gtag.js) - Google Analytics