博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转载】servlet 上传文件
阅读量:7280 次
发布时间:2019-06-30

本文共 2561 字,大约阅读时间需要 8 分钟。

commons-io下载地址:http://commons.apache.org/io/download_io.cgi

common-fileupload组件是apache的一个开源项目之一,可以从下载。

该组件简单易用,可实现一次上传一个或多个文件,并可限制文件大小。

下载后解压zip包,将commons-fileupload.jar,和commons-io里面后缀为jar复制到你的项目的webapp\WEB-INF\lib\下,如果目录不存在请自建目录。

这个项目是用来上传文件,文件路径为workspace\项目名称\build\weboutput\file\项目下,如果没有该文件夹请创建一个。否则会发生找不到路径的情况
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
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.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
 * Servlet implementation class FileUpload
 */
public class FileUpload extends HttpServlet {
    private static final long serialVersionUID = 1L;
      
    /**
     * @see HttpServlet#HttpServlet()
     */
    public FileUpload() {
        super();
        // TODO Auto-generated constructor stub
    }
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        //判断提交过来的表单是否为文件上传菜单
        boolean isMultipart= ServletFileUpload.isMultipartContent(request);
        if(isMultipart){
 
           //构造一个文件上传处理对象
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
           
            Iterator    items;
            try{
   
            //解析表单中提交的所有文件内容
                items=upload.parseRequest(request).iterator();
                while(items.hasNext()){
                    FileItem item = (FileItem) items.next();
                    if(!item.isFormField()){
   
                    //取出上传文件的文件名称
                        String name = item.getName();
         
               //取得上传文件以后的存储路径
                        String fileName=name.substring(name.lastIndexOf('\\')+1,name.length());
                       
//上传文件以后的存储路径
                        String path= request.getRealPath("file")+File.separatorChar+fileName;
                       
             
           //上传文件
                        File uploaderFile = new File(path);
                        item.write(uploaderFile);
                 
       //打印上传成功信息
                        response.setContentType("text/html");
                        response.setCharacterEncoding("GB2312");
                        PrintWriter out = response.getWriter();
                       
                        out.print("<font size='2'>上传文件为:"+name+"<br>保存的地址为"+path+ "</font>");
                       
                       
                    }
                }
            }catch(Exception e){
                e.printStackTrace();
            }
           
           
        }
       
    }
}

转载于:https://www.cnblogs.com/toge/p/6114655.html

你可能感兴趣的文章
jquery ui draggable,droppable 学习总结
查看>>
Matlab变量及其含义
查看>>
EOS智能合约开发(三):EOS创建和管理账号
查看>>
常见dos命令汇总
查看>>
fedora22 安装fcitx 输入法
查看>>
简单的ASP.NET无刷新分页
查看>>
一段代码引发的思考
查看>>
实验三 编程、编译、连接、跟踪
查看>>
构建之法第一章
查看>>
进制之间的互相转换,进制的原码,反码,补码
查看>>
Tomcat02
查看>>
SQL Server 添加描述
查看>>
locust===Writing a locustfile
查看>>
生产者消费者模式
查看>>
oracle学习篇五:组函数,分组统计
查看>>
PHP-Manual的学习----【语言参考】----【类型】-----【NULL】
查看>>
Colorable Fantasy UI
查看>>
C# Reflection BindingFlags
查看>>
NGUI3.x Button事件
查看>>
FFmpeg 官方 20160227 之后 追加 libmfx 无法在 xp 上运行的解决方法
查看>>