OS的使用非常方便,只要写一个简单的JSP页面:
<%@ page import="com.oreilly.servlet.MultipartRequest"%>
<%@ page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%>
<%@ page import="com.XXX.upload.MyFileRenamePolicy" %>
<%
//文件上传后,保存在C:\TEMP
String saveDirectory ="C:\\TEMP";
//每个文件最大1m,最多1个文件
int maxPostSize =1* 1 * 1024 * 1024 ;
//response的编码为"gb2312",同时采用缺省的文件名冲突解决策略,实现上传
//MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize,"gb2312");
//采用自己的文件命名原则
MyFileRenamePolicy mfrp=new MyFileRenamePolicy();
MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize,"gb2312",mfrp);
//输出反馈信息
Enumeration files = multi.getFileNames();
while (files.hasMoreElements()) {
System.err.println("ccc");
String name = (String)files.nextElement();
File f = multi.getFile(name);
if(f!=null){
String fileName = multi.getFilesystemName(name);
String lastFileName= saveDirectory+"\\" + fileName;
out.println("上传的文件:"+lastFileName);
out.println("<hr>");
}
}
%>
如果使用自己的命名策略,只要实现了FileRenamePolicy接口中的rename(File file)方法即可。COS有个默认的命名策略DefaultFileRenamePolicy,只要存在重名,就会在文件名后面加上1.2.3....等数字:
MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize,"gb2312");
使用自己的命名策略文件
package com.XXX.upload;
import java.io.File;
import java.util.Date;
import java.text.SimpleDateFormat;
import com.oreilly.servlet.multipart.FileRenamePolicy;
/**
* @author kerry(modify)
* @time 2010-06-10
* 采用时间戳命名
*/
public class MyFileRenamePolicy implements FileRenamePolicy {
public File rename(File file) {
String body="";
String ext="";
int pot=file.getName().lastIndexOf(".");
if(pot!=-1){
SimpleDateFormat sdf =
new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
body=sdf.format(date)+"";
ext=file.getName().substring(pot);
}else{
SimpleDateFormat sdf =
new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
body=sdf.format(date)+"";
ext="";
}
String newName=body+ext;
file=new File(file.getParent(),newName);
return file;
}
}
参考来源:
http://tmsoft.lsxy.com/index.php?load=read&id=401
附件是 cos组件的jar包。
分享到:
相关推荐
### JSP中的文件上传:利用Cos组件实现 在Java Web开发中,文件上传是一个非常常见的需求。对于使用JSP(JavaServer Pages)技术的开发者来说,实现文件上传的方法有很多,例如使用jspsmart公司的SmartUpload、...
4. **smartupload.jar**:SmartUpload是一个强大的文件上传组件,它简化了在JSP和Servlet中处理文件上传的过程。这个库提供了丰富的API,可以方便地处理单个或多个文件的上传,包括文件大小限制、文件类型检查等功能...
2. 文件上传:利用cos.jar库实现图片的服务器端上传。 3. AJAX异步上传:通过JavaScript和XMLHttpRequest实现文件的非阻塞上传,提高用户体验。 4. 进度条显示:结合服务器返回的上传进度信息,更新前端进度条组件的...
在"element上传图片,上传文件,以及富文本封装"这个主题中,我们将深入探讨 Element UI 如何帮助开发者实现图片上传、文件上传以及富文本编辑功能。 1. **Element UI 的图片上传组件**: - `el-upload`是 Element...
相较于Cos,JSPSmart是一个开源的Java文件上传组件,它提供了更丰富的功能,如限制上传文件类型、大小等。JSPSmart的工作流程通常涉及解析HTTP请求,将文件从请求中提取出来并保存到服务器的指定位置。以下是一个...
它利用了如COS(可能是Cloud Object Storage)这样的组件,确保了在上传过程中的速度和可靠性。这个组件对于处理大量数据传输或用户需要一次性上传多个文件的应用场景非常适用。 在上传过程中,速度是一个关键因素...
在IT行业中,"cos+ajax"的组合通常指的是腾讯云对象存储(Cloud Object Storage, COS)与Ajax技术结合实现的文件上传进度条功能。这里,我们详细探讨一下这两个概念以及如何将它们应用于文件上传。 首先,腾讯云...
- 设置上传文件的最大大小。 示例代码如下: ```java DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(1024 * 1024 * 20); // 设置临时文件的大小阈值 factory.set...
- **文件上传组件**:项目可能使用了Apache Commons FileUpload或Spring MVC的MultipartFile接口来处理文件上传,这些组件能方便地解析请求中的多部分数据,提取文件内容。 2. **文件存储**: - **本地存储**:...
- **COS (Cometd over Servlet)**: 一个高性能的上传组件,它不仅支持文件上传,还提供了良好的错误处理机制。 #### 二、实现原理及流程 1. **JSP页面设计**: - 首先,引入必要的JavaScript库文件(jQuery和ajax...
在这个"6个struts小案例"中,我们可以深入学习和理解STRUTS的基础知识,包括过滤器、COS上传组件、逻辑分页等核心概念。 1. **过滤器(Filter)**: 在Web应用中,过滤器是处理HTTP请求和响应的重要组件。Struts...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...
Java文件上传组件 COS FAT文件系统读写类库 fat32-lib fat32-lib 是一个用来读写 FAT 16/32 格式文件系统的纯 Java 类库(纯的)。 Eclipse的HTML格式化插件 Eclipse Tidy Eclipse HTML Tidy 是一款 Eclipse 的...