资源简介
基于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
相关资源
- 北大青鸟java第一单元项目迷你TXT小说
- 汉诺塔 迷宫用java实现,并且拥有可视
- JAVA 转C++工具
- 超市管理系统(Swing)
- java 内部排序算法的性能分析
- java web 简单留言板
- Eclipsejsp+MySQL 汽车销售信息管理系统
- (java源代码+详细注释)大富翁
- 管系统仿真与GPSSJAVA
- mysql-connector-java-5.1.6.zip
- 哲学家就餐:Java多线程图形版+java_
- 粗糙集属性约简java实现代码
- 消息中间件 RocketMQ 发布和订阅 Demo
- java解哲学家就餐问题
- javaidlb.jar
- 2016底 至 2017-01的最新整理达内Java视频
- Java心理测试小程序
- 仿百度搜索功能附带数据库 java+jsp
- 麻将游戏Java源码
- JMS简明教程创建消息 -> 发送消息 ->
- 坦克大战(java源码)288820
- mongodb-2.6.3.jar
- POJ 1328 java AC
- java课设学生成绩管理
- 物资管理系统 JAVA
- 上传文件jar包
- 网上在线订餐系统网站毕业设计论文
- Java实验-多态.docx
- 电脑配件管理系统java+SQL server
- Java简易计算器
评论
共有 条评论