jsp中利用cos進行web文件上傳(修改版)

1.下載最新的cos包( http://www.servlets.com/cos/cos-05Nov2002.zip),解壓將lib目錄下的cos.jar加入到classpath中。


2.編寫一個需要上傳文件的jsp,爲了方便,就用一個簡單的htm文件了,在這個頁面中,可以一次可以上傳3個文件。
/////////////////////upload.htm////////////////////////////////////
<!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>上傳文件</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="submit" name="Submit" value="上傳">
</p>
</form >

</body>
</html>

在d:/tools/下建一個目錄upload,用來存放上傳的文件。


3.寫一個jsp或者servlet來實現上傳,我這裏用一個叫upload.jsp,這樣就不用配置web.xml,呵呵,比較懶的說。
////////////////////////////upload.jsp////////////////////////

<%@page import="java.io.*"%>
[color=Red]<%@page import="java.util.*"%>[/color]
<%@page import="com.oreilly.servlet.MultipartRequest"%>
<%@page import="com.oreilly.servlet.multipart.[color=Red]Default[/color]FileRenamePolicy"%>
<%@page contentType="text/html; charset=gb2312" %>
<%
//文件上傳後,保存在d://tools//upload
String saveDirectory ="d://tools//upload";
//每個文件最大5m,最多3個文件,所以...
int maxPostSize =3 * 5 * 1024 * 1024 ;
//response的編碼爲"gb2312",同時採用缺省的文件名衝突解決策略,實現上傳
MultipartRequest multi =
       new MultipartRequest(request, saveDirectory, maxPostSize,
                            "gb2312");

//輸出反饋信息
Enumeration files = multi.getFileNames();
     while (files.hasMoreElements()) {
        System.err.println("ccc");
       String name = (String)files.nextElement();
       File f = multi.getFile(name);
       if(f!=null){
         String fileName = multi.getFilesystemName(name);
         String lastFileName= saveDirectory+"//" + fileName;
         out.println("上傳的文件:"+lastFileName);
         out.println("<hr>");

       }
     }

%>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">

4.最後把這2個文件發佈到你的服務器就行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章