commons-io.jar和commons-fileupload.jar是必不可少的
<form action="upfileservlet" method="post" enctype="multipart/form-data">
<input type="file" value="" name="filename">
<input type="submit" value="上传"/>
<
</form>
package com.li;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import javax.servlet.*;
import javax.servlet.http.*;
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;
public class UpFileServlet extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=UTF-8";
private ServletContext sc=null;
public void init(ServletConfig config) throws ServletException {
super.init(config);
//savePath=config.getInitParameter("savePath");
sc=config.getServletContext();
super.init();
}
/**Process the HTTP doGet request.
*/
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
}
/**Process the HTTP doPost request.
*/
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException {
response.setContentType(CONTENT_TYPE);
response.setCharacterEncoding("UTF-8");
DiskFileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload file=new ServletFileUpload(factory);
try {
List lst=file.parseRequest(request);
Iterator it=lst.iterator();
while(it.hasNext()){
FileItem fileItem=(FileItem)it.next();
if(fileItem.isFormField()){
System.out.println("表单数据的 名称:"+fileItem.getFieldName()+
" 表单数据的内容"+fileItem.getString("UTF-8"));
}
else{
if(fileItem.getName()!=null&&!fileItem.getName().equals("")){
System.out.println("上传文件的名称:"+fileItem.getName());
System.out.println("上传文件的大小:"+fileItem.getSize());
System.out.println("上传文件的类型:"+fileItem.getContentType());
File tempFile=new File(fileItem.getName());
File dir=new File(sc.getResource("/").getPath()+"savePath");
if(!dir.exists()){
dir.mkdir();
}
File realFile=new File(dir,tempFile.getName());
if(!realFile.exists()){
realFile.createNewFile();
}
try {
fileItem.write(realFile);
request.setAttribute("upLoad message","上传成功");
} catch (Exception e) {
request.setAttribute("upLoad message","上传失败");
e.printStackTrace();
}
}
}
}
} catch (FileUploadException e) {
request.setAttribute("upLoad message","上传失败");
e.printStackTrace();
}
}
}
分享到:
相关推荐
假如一个场景,用户上传文件,某些用户网速较慢,同时存在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的文件上传案例