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:'失败'}
"
);
//
可以跳转出错页面
}
}
}
查看全文
相关阅读:
小节 +三元表达式
continue
break
flag标签
#region #endregion
for 循环
do while 有例句体会循环的真正原理
while 循环
前缀和与差分
递归的循环实现
原文地址:https://www.cnblogs.com/meetrice/p/1205231.html
最新文章
算法分析(54页)
算法设计分析(44页)
数据结构——算法设计(12页)方案三
Android 应用开发推荐书单
区间dp
动态规划的进一步理解
memset 还可以这样用
搜索(DFS)
每日阅读2019年04月04日(时代周刊)
ubuntu 应用添加进环境变量
热门文章
Something of HTTP
HTTP 方法
每日一篇2019年03月26日
pip更换国内源
django 的一些了解
git .gitignore未生效
rails 部署 can't find gem bundler (>= 0.a) with executable bundle
mysql 初始密码、修改密码
结构
常量、枚举
Copyright © 2011-2022 走看看