资源简介
基于java的uploadify上传demo 例子,含注解

代码片段和文件信息
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
文件上传
步骤:
(1)
*/
public class ProcessUpload extends HttpServlet
{
public void doPost(HttpServletRequest request HttpServletResponse response) throws ServletException IOException
{
/**/
System.out.println(“I am a serlvet to process upload!!!“);
request.setCharacterEncoding( “UTF-8“ ); // 从request中取时 以UTF-8编码解析
// 工厂
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
// 获取上传文件存放的 目录 无则创建
String path = request.getRealPath( “/upload“ );
System.out.println(“path : “ + path);
new java.io.File( path ).mkdir();
/**
* 原理 它是先存到 暂时存储室,然后在真正写到 对应目录的硬盘上,
* 按理来说 当上传一个文件时,其实是上传了两份,第一个是以 .tem 格式的
* 然后再将其真正写到 对应目录的硬盘上
*/
diskFileItemFactory.setRepository( new File( path ) );
//设置 缓存的大小,当上传文件的容量超过该缓存时,直接放到 暂时存储室
diskFileItemFactory.setSizeThreshold( 1024*1024 );
ServletFileUpload upload = new ServletFileUpload(diskFileItemFactory);
try
{
// 可上传多个文件
@SuppressWarnings(“unchecked“)
List list = (List) upload.parseRequest( request );
for (FileItem item : list )
{
// 获取 提交表单的 属性名
String name = item.getFieldName();
// 字符串类 属性
if ( item.isFormField() )
{
String value = item.getString();
System.out.println(name + “=“ + value);
}
// 二进制类
else
{
// 获取上传文件的名字
String value = item.getName(); // 1获取路径
int start = value.lastIndexOf( “\\“ );// 2索引到最后一个反斜杠
String filename = value.substring( start+1 );//3 截取(+1是去掉反斜杠)
System.out.println( name + “=“ + value );
File file = null;
do {
// 生成文件名
start = filename.lastIndexOf( “.“ ); // 索引到最后一个点
filename = filename.substring( 0 start ) // 不含扩展名的文件
+ UUID.randomUUID().toString() // 随机数
+ filename.substring( start ); // 扩展名
file = new File(path filename);
} while (file.exists());
System.out.println( “filename=“ + filename );
// 写到磁盘上去
item.write( file );
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-03-28 10:13 uploads\
文件 529 2014-03-28 10:34 uploads\.classpath
目录 0 2014-03-28 10:34 uploads\.myeclipse\
文件 294 2014-03-28 10:34 uploads\.myme
文件 1750 2014-03-28 10:34 uploads\.project
目录 0 2014-03-28 10:13 uploads\.settings\
文件 500 2014-03-28 10:34 uploads\.settings\.jsdtscope
文件 395 2014-03-28 10:34 uploads\.settings\org.eclipse.jdt.core.prefs
文件 459 2014-03-28 10:34 uploads\.settings\org.eclipse.wst.common.component
文件 252 2014-03-28 10:34 uploads\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2014-03-28 10:34 uploads\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2014-03-28 10:34 uploads\.settings\org.eclipse.wst.jsdt.ui.superType.name
目录 0 2014-03-28 10:13 uploads\WebRoot\
目录 0 2014-03-28 10:13 uploads\WebRoot\me
文件 36 2014-03-28 10:34 uploads\WebRoot\me
目录 0 2014-03-28 10:13 uploads\WebRoot\WEB-INF\
目录 0 2014-03-28 10:13 uploads\WebRoot\WEB-INF\classes\
文件 3795 2014-03-28 10:34 uploads\WebRoot\WEB-INF\classes\ProcessUpload.class
目录 0 2014-03-28 10:13 uploads\WebRoot\WEB-INF\lib\
文件 59590 2014-03-28 10:34 uploads\WebRoot\WEB-INF\lib\commons-fileupload-1.2.2.jar
文件 185140 2014-03-28 10:34 uploads\WebRoot\WEB-INF\lib\commons-io-2.4.jar
文件 712 2014-03-28 10:34 uploads\WebRoot\WEB-INF\web.xm
目录 0 2014-03-28 10:13 uploads\WebRoot\css\
文件 2543 2014-03-28 10:34 uploads\WebRoot\css\uploadify.css
目录 0 2014-03-28 10:13 uploads\WebRoot\img\
文件 2960 2014-03-28 10:34 uploads\WebRoot\img\uploadify-cancel.png
文件 4641 2014-03-28 10:34 uploads\WebRoot\index.html
目录 0 2014-03-28 10:13 uploads\WebRoot\js\
文件 268381 2014-03-28 10:34 uploads\WebRoot\js\jquery-1.9.1.js
文件 61153 2014-03-28 10:34 uploads\WebRoot\js\jquery.uploadify.min.js
文件 12767 2014-03-28 10:34 uploads\WebRoot\js\uploadify.swf
............此处省略3个文件信息
- 上一篇:javamail多线程群发,同时开5个线程。
- 下一篇:jsp实现分页.zip
相关资源
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
- 基于C/S架构考试系统(Java)
- java access 仓库管理系统 源码
- 一元多项式相加 java实现
- java软件工程师简历模板——应届生
- DES(CFB) JAVA
- java读取局域网共享机器文件
- [免费]java学习 存储过程
- pl/0词法分析器和语法分析器(java)
- 回归算法Java程序
评论
共有 条评论