标签:
1.首先导入两个jar包
FileUpload下载地址:
http://commons.apache.org/fileupload/
下载:commons-fileupload-1.2.2-bin.zip 得到:commons-fileupload-1.2.2.jar
下载:commons-io-1.4-bin.zip 得到:commons-io-1.4.jar
2、设置表单的属性设置以及使用file设置选择文件,提交地址是test.jsp
<body>
<form enctype="multipart/form-data" action="<%=path%>/test.jsp" method="post">
文件名:<input type="text" name="userName">
选择图片:<input type="file" name="myfile">
<input type="submit" value="提交">
</form>
</body>
如图所示:

3、创建test.jsp页面,文件上传到upload文件夹中,实现上传功能
<%@page import="java.io.File"%>
<%@page import="org.apache.commons.fileupload.*" %>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
request.setCharacterEncoding("utf-8");
//判断是普通表单还是文件上传
boolean flag=ServletFileUpload.isMultipartContent(request);
if(flag)
{
//定义一个解析器,来解析请求中的各个项目
DiskFileItemFactory factory=new DiskFileItemFactory();
//解析upload创建成功
ServletFileUpload upload=new ServletFileUpload(factory);
List<FileItem>fileList=upload.parseRequest(request);
//每一个fileItem都代表一个表单元素
Iterator<FileItem> myitor=fileList.iterator();
while(myitor.hasNext())
{
FileItem item=myitor.next();
if(item!=null)
{
if(item.isFormField())
{
//获取该表单元素内容(value值)
String name=item.getFieldName();
//表单的name属性而不是value值
if(name.equals("username"))
{
out.print(item.getString("utf-8"));
}
}
else
{
String filename=item.getName();
//服务器目录下 相对路径
String path="/WEB-INF/upload/";
//转换为绝对路径
String absolutepath=this.getServletContext().getRealPath(path);
File file=new File(filename);
File uploadFile=new File(absolutepath,file.getName());
item.write(uploadFile);
out.print("上传成功!");
}
}
}
}
%>
标签:
原文地址:http://www.cnblogs.com/hq-123/p/5638448.html