/**
*
*/
package cn.demo.fupload;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
* @author Administrator
* @version 2009-3-8 文件的上传下载commons-fileupload
*/
public class FileUploadServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1068590804829697704L;
private ServletContext sc;//获取设备上下文对象
private String savePath;//保存的路径
/**
* @param args
* @throws UnsupportedEncodingException
*/
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws UnsupportedEncodingException,ServletException,IOException{
doPost(request,response);
//将get请求和post请求统一发送给doPost处理
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws UnsupportedEncodingException,ServletException,IOException{
//设置编码格式
request.setCharacterEncoding("GBK");
//使用FileItemFactory创建新的文件项目
DiskFileItemFactory factory = new DiskFileItemFactory();
//FileUpload用来解析request文件上传请求
ServletFileUpload upload = new ServletFileUpload(factory);
try {
//获取请求的信息存入列表list中
List tempList = upload.parseRequest(request);
Iterator it = tempList.iterator();
while(it.hasNext()){
FileItem item = (FileItem)it.next();
//判断items中的文本信息
if(item.isFormField()){
System.out.println("表单参数的名称"+item.getFieldName()
+"表单的参数值"+item.getString("GBK"));
}else{
if(item.getName()!=null&&!item.getName().equals("")){
System.out.println("所上传的文件名称:"+item.getName());
System.out.println("所上传的文件大小:"+item.getSize());
System.out.println("所上传的文件类别:"+item.getContentType());
//用于获取file中的文件名(不包含路径)
File tempFile = new File(item.getName());
//建立文件内容
File file = new File(sc.getRealPath("/")+savePath,tempFile.getName());
//将文件上传至服务器
item.write(file);
request.setAttribute("upload.message", "上传文件成功!"+item.getName()+item.getSize()+item.getContentType());
}else{
request.setAttribute("upload.message", "没有选择文件!");
}//end else
}//end else
}//end while
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("上传文件失败!");
request.setAttribute("upload.message"," 上传文件失败!");
}
request.getRequestDispatcher("../uploadResult.jsp").forward(request, response);
}
public void init(ServletConfig config){
//获取配置文件保存的变量值
savePath = config.getInitParameter("savePath");
//获取Servlet上下文对象
sc = config.getServletContext();
}
}
分享到:
相关推荐
一个简单的Java文件上传servlet接口,文件上传成功后返回json格式响应数据,app可以调用此接口上传图片等文件到服务器,获取资源网络路径url
使用javaweb servlet 实现 文件上传的功能。
ajax异步文件上传,servlet处理
随后发布struts2的文件上传,资源空间紧张,那个包带lib话有点大。 这个是servlet方式
用jsp和servlet编写的文件上传程序,经调试,运行正常,下载即可查看。
开发工具是myEclipse,用 Servlet实现文件上传,通过commons-fileupload-1.2.1.jar commons-io-1.4.jar插件实现了文件上传
纯jsp,servlet版的文件上传与下载.同时可以上传两个文件,也可以自己修改下代码上传多个文件,这是本人的自己的代码,不是为了赚点积分,还真有点舍不得上传。工程名写成了了nostruts,是为了区分struts,用jsp写的
java 写的文件上传下载的例子,可以做简单图片文件服务器
Servlet实现文件上传与下载 Servlet 文件上传与下载
使用CKEditor3.6.0版本,使用上传组件实现Servlet上传图片,含有列子
java上传文件(servlet3.0)
今天和大家分享下基于servlet的方式实现文件上传; 1、众所周知在不实用框架的时候使用表单模式实现文件上传是无法接收其他的参数的; 2、但是在使用mutipart/form-data模式上传的时候,其实非文件属性的属性的值是...
文件上传代码 基于servlet文件上传
本文实例为大家分享了JSP+Servlet实现文件上传到服务器功能的具体代码,供大家参考,具体内容如下 项目目录结构大致如下: 正如我在上图红线画的三个东西:Dao、service、servlet 这三层是主要的结构,类似 MVC ...
文件的上传,文件下载列表的展示,及下载文件
直接从代码里复制过来的,绝对可用
Uploadify多文件上传+servlet 一个简单的例子
自己用servlet写的文件上传及下载功能带进度条 主要用到两个jar:commons-fileupload-1.2.2.jar和commons-io-2.0.1.jar 内容介绍: com.fm.FileManagerService:一个servlet用来实现主要的文件上传下载逻辑的 ...
* 文件上传 Servlet:使用 Servlet 处理文件上传请求,并将文件保存到服务器 文件下载 文件下载是 Servlet 高级编程的另一个重要部分。文件下载可以通过Servlet实现,使用响应对象将文件返回给客户端。 * 列出...
servlet实现多文件上传,上传只为分享...