当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

Apache Commons fileUpload实现文件上传[Java编程]

赞助商链接



  本文“Apache Commons fileUpload实现文件上传[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

将Apache的commons-fileupload.jar放在利用程序的WEB-INFlib下,便可以利用.下面举例介绍若何利用它的文件上传功效.

所利用的fileUpload版本为1.2,环境为Eclipse3.3+MyEclipse6.0.FileUpload 是基于 Commons IO的,所以在进入项目前先肯定Commons IO的jar包(本文利用commons-io-1.3.2.jar)在WEB-INFlib下.

此文作示例工程可在文章最后的附件中下载.

示例1

最简单的例子,通过ServletFileUpload静态类来解析Request,工厂类FileItemFactory会对mulipart类的表单中的全部字段举行处理,不只是file字段.getName()得到文件名,getString()得到表单数据内容,isFormField()可判断能否为普通的表单项.

demo1.html

<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
   <title>File upload</title>
</head>
<body>
    //必须是multipart的表单数据.
   <form name="myform" action="demo1.jsp" method="post"
    enctype="multipart/form-data">
    Your name: <br>
    <input type="text" name="name" size="15"><br>
    File:<br>
    <input type="file" name="myfile"><br>
    <br>
    <input type="submit" name="submit" value="Commit">
   </form>
</body>
</html>

demo1.jsp

<%@ page language="java" contentType="text/html; charset=GB18030"
   pageEncoding="GB18030"%>
<%@ page import="org.apache.commons.fileupload.*"%>
<%@ page import="org.apache.commons.fileupload.servlet.*"%>
<%@ page import="org.apache.commons.fileupload.disk.*"%>
<%@ page import="java.util.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
   boolean isMultipart = ServletFileUpload.isMultipartContent(request);//查抄输入恳求能否为multipart表单数据.
   if (isMultipart == true) {
    FileItemFactory factory = new DiskFileItemFactory();//为该恳求成立一个DiskFileItemFactory对象,通过它来解析恳求.履行解析后,全部的表单项目都保存在一个List中.
    ServletFileUpload upload = new ServletFileUpload(factory);
    List<FileItem> items = upload.parseRequest(request);
    Iterator<FileItem> itr = items.iterator();
    while (itr.hasNext()) {
      FileItem item = (FileItem) itr.next();
      //查抄当前项目是普通表单项目还是上传文件.
      if (item.isFormField()) {//假如是普通表单项目,显示表单内容.
    String fieldName = item.getFieldName();
    if (fieldName.equals("name")) //对应demo1.html中type="text" name="name"
      out.print("the field name is" + item.getString());//显示表单内容.
    out.print("<br>");
      } else {//假如是上传文件,显示文件名.
    out.print("the upload file name is" + item.getName());
    out.print("<br>");
      }
    }
   } else {
    out.print("the enctype must be multipart/form-data");
   }
%>
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=GB18030">
   <title>File upload</title>
</head>
<body>
</body>
</html>

后果:

the field name isjeff

the upload file name isD:C语言测验样题功课题.rar


  以上是“Apache Commons fileUpload实现文件上传[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 教您玩转Apache服务器及虚拟主机
  • Linux下Apache自动监测重启脚本(智能化程度较高)
  • 配置Apache避免webshell上传
  • apache限制某个目录下的php文件没有履行权限
  • Apache+Mysql+PHP搭建LAMP平台
  • Ubuntu Apache Rewrite 加载
  • Ubuntu下Apache的Rewrite若何启用
  • Ubuntu 10.10安装Apache等环境
  • Ubuntu Server+Apache 运行 asp.net
  • Ubuntu Apache 伪静态配置 url重写
  • Ubuntu + Apache2编写简单的cgi脚本
  • Ubuntu下配置Apache2.0及其相关安装
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .