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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |