zoukankan
html css js c++ java
ext上传组件的servlet服务端程序
package
com.fh.servlet;
import
java.io.File;
import
java.io.IOException;
import
java.sql.Timestamp;
import
java.text.SimpleDateFormat;
import
java.util.Iterator;
import
java.util.List;
import
javax.servlet.
*
;
import
javax.servlet.http.
*
;
import
org.apache.commons.fileupload.
*
;
public
class
UploadServlet
extends
HttpServlet
{
/** */
/**
*
*/
private
static
final
long
serialVersionUID
=
7440302204266787092L
;
String uploadPath
=
"
d:\\uploadtest\\
"
;
//
用于存放上传文件的目录
String tempPath
=
"
d:\\tmp\\
"
;
//
用于存放临时文件的目录
public
UploadServlet()
{
super
();
System.out.println(
"
文件上传启动
"
);
}
public
void
destroy()
{
super
.destroy();
//
Just puts "destroy" string in log
//
Put your code here
}
public
void
init()
throws
ServletException
{
System.out.println(
"
文件上传初始化
"
);
}
public
void
doPost(HttpServletRequest request, HttpServletResponse response)
throws
IOException, ServletException
{
try
{
System.out.println(
"
开始进行文件上传
"
);
DiskFileUpload fu
=
new
DiskFileUpload();
fu.setSizeMax(
4194304
);
//
设置最大文件尺寸,这里是4MB
fu.setSizeThreshold(
4096
);
//
设置缓冲区大小,这里是4kb
fu.setRepositoryPath(tempPath);
//
设置临时目录
List fileItems
=
fu.parseRequest(request);
//
得到所有的文件:
Iterator i
=
fileItems.iterator();
//
依次处理每一个文件:
while
(i.hasNext())
{
FileItem fi
=
(FileItem) i.next();
String fileName
=
fi.getName();
//
获得文件名,这个文件名包括路径:
if
(fileName
!=
null
)
{
//
在这里可以记录用户和文件信息
//
此处应该定义一个接口(CallBack),用于处理后事。
//
写入文件a.txt,你也可以从fileName中提取文件名:
String extfile
=
fileName.substring(fileName.indexOf(
"
.
"
));
Timestamp now
=
new
Timestamp((
new
java.util.Date())
.getTime());
SimpleDateFormat fmt
=
new
SimpleDateFormat(
"
yyyyMMddHHmmssSSS
"
);
String pfileName
=
fmt.format(now).toString().trim();
System.out.println(uploadPath
+
pfileName
+
extfile);
fi.write(
new
File(uploadPath
+
pfileName
+
extfile));
}
}
response.setContentType(
"
text/html;charset=utf-8
"
);
response.getWriter().print(
"
{success:true,message:'上传成功'}
"
);
//
response.getWriter().print("{success:true,msg:'成功'}");
//
跳转到上传成功提示页面
}
catch
(Exception e)
{
e.printStackTrace();
response.getWriter().print(
"
{success:flase,message:'失败'}
"
);
//
可以跳转出错页面
}
}
}
查看全文
相关阅读:
【javascript 面试笔试】1、几道笔试题
【菜鸟学习jquery源码】数据缓存与data()
【javascript杂谈】你所不知道的replace函数
001-编译hadoop-2.5.2总结
静态工厂 + DbHelper
用Socket来简单实现IIS服务器
JS产生徐特尔图表
JS中图片飞飞效果
基础类型
Linux-切换启动方式
原文地址:https://www.cnblogs.com/meetrice/p/1205242.html
最新文章
bower 新建.bowerrc文件
Backbone1.0.0数据验证的变化
Normalize.css
Sass for循环中编译%时报错解决方案
undercore & Backbone对AMD的支持(Require.js中如何使用undercore & Backbone)
谈谈CSS预处理技术中for循环的应用-CSS Sprite
android显示TextView文字的倒影效果
使用ViewPager实现android软件使用向导的功能
ListView实现下拉刷新功能
android 蓝牙4.0多通道
热门文章
矩阵相乘的算法
Android 中点击返回键弹出“在按一次退出程序”的做法
【javascript基础】系列
2014学习目标
为什么每个前端开发者都要理解页面的渲染?
【javascript 进阶】异步调用
【javascript进阶】异常
前端工作面试问题
jQuery的编码标准和最佳实践
编写更好的jQuery代码
Copyright © 2011-2022 走看看