需求:在web功能中附件上传功能为最基本的功能之一,所以用cos组件做了一个附件上传的demo。附件上传功能的实现可以利用其它的java组件实现,相关资料网上比较多。
说明步骤:下载组件并安装 --> 代码实现 --> 测试附件上传功能
下载cos组件并安装到web工程
1、访问 http://www.servlets.com/
2、点击Download the package超链接
3、点击cos-26Dec2008.zip下载组件
4、解压下载的文件并复制cos-26Dec2008\lib\cos.jar
5、复制到工程中的lib下
6、重启web工程
jsp代码实现
fileUpload.jsp
需要注意一点是enctype="multipart/form-data",此处是为了利用二进制进行传输
<%@ 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><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>文件上传demo</title><linkhref="/web01//CSS/main.css"rel="stylesheet"type="text/css"/></head><%@ include file="top.jsp"%><body><formaction="handleFileUpload.jsp"name="frm1"method="post"enctype="multipart/form-data">文件名:<inputtype="file"name="file1"size="50"><
br><inputtype="submit"value="上传"></form></body><%@ include file="bottom.jsp"%></html>
handleFileUpload.jsp
点击 上传 按钮时调用的jsp页面,具体会处理上传功能
<%@ page language="java"contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@ page import="com.oreilly.servlet.MultipartRequest"%><%@ page import="com.oreilly.servlet.multipart.DefaultFileRenamePolicy"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>文件上传demo</title><linkhref="/web01//css/main.css"rel="stylesheet"type="text/css"/></head><%@ include file="top.jsp"%><body><%//文件要保存的路径StringsavePath="d:/test/uploadfile/";intsizeLimit=30*1024*1024;StringfileName="";StringfileSystemName="";longfileSize=0;
MultipartRequest multi=newMultipartRequest(request, savePath, sizeLimit,"UTF-8",newDefaultFileRenamePolicy());
Enumeration fileNames=multi.getFileNames();while(fileNames.hasMoreElements()) {
fileName=(String) fileNames.nextElement();
fileSystemName=multi.getFilesystemName(fileName);if(fileSystemName !=null) {
fileSize=multi.getFile(fileName).length();
}
}
out.PRintln("文件上传成功!<br>");
out.println("文件名:"+fileSystemName+"<br>");
out.println("文件大小:"+fileSize/1024+"KB");%></body><%@ include file="bottom.jsp"%></html>
测试上传功能
首先访问上传页面 http://localhost:8081/web01/view/fileUpload.jsp
点击 浏览 按钮,选择文件
点击 上传 按钮
文件上传成功
注意:上传文件之前目录中应该有目录名称,不然会报目录不存在的错误