使用COS组件上传文件

使用COS组件上传文件[原创] (2007-02-26 13:38:31)


使用COS上传文件
很早就想写一个关于JSP文件上传的文章了,一直没时间。正好今天刚开学,就简单的写一下。对于初学者来说用JSP上传文件好像很难,网上关于这方面的资料也不全。不过你看了下面的文章之后会觉得这太简单了。
我这里用的是COS上传组件,它是O'Reilly公司开发的,下载地址http://www.servlets.com/cos/index.html
为了方便,这里用的开发工具是:eclipse和Myeclipse插件,如果不用开发工具,只要稍微懂得一点JSP开发知识就可以了。现在开始吧!
新建项目,名称为upload,把下载的COS组件中lib文件夹下的cos.jar文件拷贝到项目中的WEB-INF/lib文件下,然后新建一个HTML文件用来提交上传文件:
文件名:upload.html


<!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=gb2312">
<title>cos文件上传</title>
</head>
<body>
<!-- enctype的值很重要,upload.jsp为处理上传的jsp-->
<form name="form1" method="post" enctype="multipart/form-data" action="upload.jsp"><p>
<input name="file1" type="file"></p>
<p>
<input name="file2" type="file"></p>
<p>
<input name="file3" type="file"></p><p><input type="text" name="text"></p>
<p><input type="submit" name="Submit" value="上传"></p>
</form >
</body>
</html>
下面是处理上传的JSP文件upload.jsp
<%@page import="java.io.*"%>
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@page import="java.util.*"%>
<%@page contentType="text/html; charset=gb2312" %>
<%
//获得根目录的物理路径
String path=getServletContext().getRealPath("/");
String saveDirectory =path+"uploadfile\\";
//每个文件最大5m,最多3个文件,所以...
int maxPostSize =3 * 5 * 1024 * 1024 ;
//response的编码为"gb2312",同时采用缺省的文件名冲突解决策略,实现上传
MultipartRequest multi =
new MultipartRequest(request,saveDirectory,maxPostSize,"gb2312");
//用于接收文本字段
String text = multi.getParameter("text");
//把获得的文件名放在容器中
Enumeration files = multi.getFileNames();
while (files.hasMoreElements()) {
String name = (String)files.nextElement();
File f = multi.getFile(name);
if(f!=null){
String fileName = multi.getFilesystemName(name);
//在这里进行相应的操作,如存入数据库等
out.println("上传的文件:"+fileName);
out.println("<br>");
}
}
out.print(text);
%>



在根目录下新建文件夹uploadfile作为上传文件的目录。
目录结构在eclipse中如图:
upload

├uploadfile

├WEB-INF
│ ├lib
│ ├cos.jar
│ ┕web.xml

├upload.html

┕upload.jsp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值