您的位置:首页 > 编程语言 > Java开发

使用COS上传文件(转载)

2007-10-06 10:42 281 查看
使用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
      
      
好,所有的工作已完成。若需要源码请发邮件到showsen@163.com
作者:showsen
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息