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:'失败'}
"
);
//
可以跳转出错页面
}
}
}
查看全文
相关阅读:
【Jenkins】坑
【Windows】修改hosts
【Linux】防火墙操作-centos7
【Linux】学习-centos 7
【Jenkins】介绍、安装
【Jenkins】有关网站
【Jenkins】中文汉化
【Jenkins】修改Jenkins插件为国内源
python笔记之孤单的元组
python笔记之水仙花数
原文地址:https://www.cnblogs.com/meetrice/p/1205242.html
最新文章
SpringSecurity常见用法备忘
星涛:JSP开发助手函数
星涛:tomcat不带项目名访问的方法
c free 使用MSDN library定制
C++类数组批量赋值
在Code::Blocks中编译和使用wxWidgets3.0.0教程
cpp语言程序设计教程第七章的一道编程题
使用CodeBlocks编译64位程序(用的编译器仅仅是windows sdk的)
SetWindowPos,RegisterHotKey,GlobalAddAtom的用法
使用CodeBlocks为你的程序添加程序文件图标和启动读入图标
热门文章
CodeBlocks 3 使用设置
正则表达式替换文本用以整理文章
adb usage
【Linux】常用命令
【Linux】htop命令 安装、介绍(top命令增强版)
【日常-学习理念】转:如何烧开一壶水
【IDEA】Clone failed: Authentication failed for......
【Jenkins、Gitlab】GitLab 自动触发 Jenkins 构建
【Linux、GitLab】常用命令
【Linux、Git】CentOS7 升级Git至2.4.0版本
Copyright © 2011-2022 走看看