Java 使用commons集驱动包+Servlet类实现简单的上传文件到本地!推荐

大家好!欢迎大家来探讨问题。话不多说,本章将利用阿帕奇下的commons驱动包实现基本的文件上传文件。利用commons驱动包来上传文件已经在许多框架中使用,非常常见!


第一步:新建一个Servlet类(Upload.java)

新建成功后把Servlet类注释的路径改为@WebServlet("/upload");再新建一个images文件夹

下面将直接贴出doPost方法中的代码:

 boolean isMultipart = ServletFileUpload.isMultipartContent(request);  
   DiskFileItemFactory factory = new DiskFileItemFactory();  
   ServletContext servletContext = this.getServletConfig().getServletContext();//取得当前servlet上下文  
   File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");//取得当前项目的临时目录  
   factory.setRepository(repository);//告诉upload组件临时目录位置  
   ServletFileUpload upload = new ServletFileUpload(factory);  
   try {  
//把请求里的文件字段全部分析出来放在list中  
List<FileItem> items = upload.parseRequest((HttpServletRequest)acontext.getRequest());  
for(FileItem item:items) {  
    String fieldName = item.getFieldName();  
    String fileName = item.getName();  
    String contentType = item.getContentType();  
    boolean isInMemory = item.isInMemory();  
    long sizeInBytes = item.getSize();  
    File uploadedFile = new File(request.getRealPath(".")+"/images/"+fileName.substring(fileName.indexOf("\\")+1,fileName.length()));  
    item.write(uploadedFile);  
    }  
 }  
    }catch (Exception e) {  
// TODO Auto-generated catch block  
e.printStackTrace();  
    }  

注意:

这里需要用到的驱动包:commons-collections-3.2.jar, commons-fileupload-1.3.3.jar, commons-io-2.0.1.jar, commons-lang-2.3.jar, commons-logging-1.0.4.jar, commons-logging-api-1.1.jar  六个驱动包。



第二步:新建一个JSP(index.jsp)

下面是jsp页面的代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"  
    pageEncoding="UTF-8"%>  
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
<title>上传多个文件</title>  
</head>  
<body>  
    <form action="<%=request.getContextPath() %>/upload" method="post" enctype="multipart/form-data">  
        <input type="file" name="file" />  
        <input type="file" name="file" />  
        <input type="submit" />  
    </form>  
</body>  
</html> 



第三步:

将项目打包成war保存在tomcat解压文件目录的webapps目录下,这时候在webapps目录下会生成一个Upload.war的文件。接着就到tomcat目录bin文件 双击运行startup.bat文件,运行成功后在webapps目录下会生成一个Upload文件夹。现在访问 http://localhost:8080/Upload ,选择你上传的文件,点击提交没有报错就表示成功!现在到webapps目录下自动生成的Upload文件夹中的images文件夹,刚刚你选择的图片就上传到images文件夹中了!


第四步:

这篇文章打了两遍,因为手贱操作不慎第一遍的代码都没保存就没了。害我又打了一遍抓狂不容易啊。对你有没有帮助都顶一下好吗委屈  哈哈。我虽然不是很厉害 但是我有学习到的一定分享出来共享,哈哈。欢迎一起探讨哦。一个字一个字打出来的,手好酸啊快哭了。。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值