原文:http://zhidao.baidu.com/question/263826186.html
public String uploadFile(HttpServletRequest request){
try {
DiskFileItemFactory factory= new DiskFileItemFactory();
ServletFileUpload upload= new ServletFileUpload(factory);
List<FileItem> list = upload.parseRequest(request);
String encoding=request.getCharacterEncoding();
upload.setHeaderEncoding(encoding);
upload.setFileSizeMax(fileMaxSize);
for(FileItem fileItem : list){
String fileName = fileItem.getFieldName();
if(fileItem.isFormField()){
if("send".equals(fileName)){
edto.setSend(fileItem.getString(encoding));
}
if("incept".equals(fileName)){
edto.setIncept(fileItem.getString(encoding));
}
if("theme".equals(fileName)){
edto.setTheme(fileItem.getString(encoding));
}
if("letter".equals(fileName)){
edto.setLetter(fileItem.getString(encoding));
}
}
else{
if("file".equals(fileName)){
String sourceFilePath = fileItem.getName();
if(sourceFilePath!=""){
if(fileItem.getSize()>fileMaxSize){
return "文件过大,不能上传!";
}
HttpSession session =request.getSession();
String serverPath = session.getServletContext().getRealPath("");
String savePath = serverPath + "\\userfile";
String saveFileName =GetSaveFileName.getFileName(edto.getIncept(),edto.getSend(),sourceFilePath);
InputStream in = fileItem.getInputStream();
edto.setSaveFileName(saveFileName);
this.saveFile(savePath,saveFileName, in);
}
}
}
}
保存上传的文件到服务器:
//保存文件到服务器
private void saveFile(String savePath,String saveFileName,InputStream in) throws IOException{
File file=new File(savePath);
if(!file.exists()){
file.mkdirs();
}
FileOutputStream out =new FileOutputStream(savePath+"\\"+saveFileName);
byte [] b =new byte[1024];
int len = in.read(b);
while(len!=-1){
out.write(b, 0, len);
out.flush();
len = in.read(b);
}
out.close();
in.close();
}
分享到:
相关推荐
假如一个场景,用户上传文件,某些用户网速较慢,同时存在100个这样的用户,如果BIO且最大线程设为100会导致线程用完。NIO怎么来解决这个问题? 本实例采用tomcat8作为容器,开启异步servlet读写事件,解决高并发IO...
servlet 上传文件流保存到数据库
Servlet上传文件并显示进度条
servlet上传文件详细解析 大家好好看
上载文件.轻松搞定.java Servlet上传文件.
JSP+servlet上传文件有 进度条 比较好用
jsp与servlet文件上传代码,可以上传中文文件名,不乱码 jsp与javaBean文件上传代码,但上传中文文件名乱码 刚写完的。
自己写的servlet上传文件demo,有注释方便学习。 包含commons-io 和 commons-fileupload 架包 jdk大于等于1.6可直接用,如果jdk版本小于1.6请换一个低版本io的架包即可
本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC ...
使用Java编程,两种方式ftp servlet上传文件
利用java servlet上传文件 word文档
java实现利用HTTP基于servlet上传文件至服务器.pdf
利用cos.jar 通过Servlet实现文件上传至服务器
ajax异步文件上传,servlet处理
SERVLET 上传文件原理,Cache-Contro,java编码,jbpm原理,是一份综合资料,用于学习,如使用,请下载
是jsp和servlet合作实现了对文件的上传
java实现利用HTTP基于servlet上传文件至服务器[参考].pdf
* 4)高水平的API文件上传处理 ServletFileUpload upload = new ServletFileUpload(factory); * 目的是调用 parseRequest(request)方法 获得 FileItem 集合list , * * 5)在 FileItem 对象中 获取信息, ...
jsp servlet 通过ajax 实现上传文件的同时获取文件上传进度
JAVA_servlet的文件上传案例