程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> jspSmartUpload上傳下載全攻略(三、文件上傳篇 )

jspSmartUpload上傳下載全攻略(三、文件上傳篇 )

編輯:關於JSP

三、文件上傳篇

㈠ 表單要求

對於上傳文件的FORM表單,有兩個要求:

1、METHOD應用POST,即METHOD="POST"。

2、增加屬性:ENCTYPE="multipart/form-data"

下面是一個用於上傳文件的FORM表單的例子:

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="/jsp(SUN企業級應用的首選)SmartUpload/upload.jsp(SUN企業級應用的首選)"><INPUT TYPE="FILE" NAME="MYFILE"><INPUT TYPE="SUBMIT"></FORM>


㈡ 上傳的例子

1、上傳頁面upload.html

本頁面提供表單,讓用戶選擇要上傳的文件,點擊"上傳"按鈕執行上傳操作。

頁面源碼如下:

<!--    文件名:upload.html作  者:縱橫軟件制作中心雨亦奇([email protected])--><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>文件上傳</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><p>&nbsp;</p><p align="center">上傳文件選擇</p><FORM METHOD="POST" ACTION="jsp(SUN企業級應用的首選)/do_upload.jsp(SUN企業級應用的首選)"ENCTYPE="multipart/form-data"><input type="hidden" name="TEST" value="good">  <table width="75%" border="1" align="center">    <tr>       <td><div align="center">1、           <input type="FILE" name="FILE1" size="30">        </div></td>    </tr>    <tr>       <td><div align="center">2、           <input type="FILE" name="FILE2" size="30">        </div></td>    </tr>    <tr>       <td><div align="center">3、           <input type="FILE" name="FILE3" size="30">        </div></td>    </tr>    <tr>       <td><div align="center">4、           <input type="FILE" name="FILE4" size="30">        </div></td>    </tr>    <tr>       <td><div align="center">          <input type="submit" name="Submit" value="上傳它!">        </div></td>    </tr>  </table></FORM></body></html>


2、上傳處理頁面do_upload.jsp(SUN企業級應用的首選)

本頁面執行文件上傳操作。頁面源碼中詳細介紹了上傳方法的用法,在此不贅述了。

頁面源碼如下:

<%--文件名:do_upload.jsp(SUN企業級應用的首選)作  者:縱橫軟件制作中心雨亦奇([email protected])--%><%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*,com.jsp(SUN企業級應用的首選)smart.upload.*" errorPage="" %><html><head><title>文件上傳處理頁面</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body><%// 新建一個SmartUpload對象SmartUpload su = new SmartUpload();// 上傳初始化su.initialize(pageContext);// 設定上傳限制// 1.限制每個上傳文件的最大長度。// su.setMaxFileSize(10000);// 2.限制總上傳數據的長度。// su.setTotalMaxFileSize(20000);// 3.設定允許上傳的文件(通過擴展名限制),僅允許doc,txt文件。// su.setAllowedFilesList("doc,txt");// 4.設定禁止上傳的文件(通過擴展名限制),禁止上傳帶有exe,bat,jsp(SUN企業級應用的首選),htm,html擴展名的文件和沒有擴展名的文件。// su.setDeniedFilesList("exe,bat,jsp(SUN企業級應用的首選),htm,html,,");// 上傳文件su.upload();// 將上傳文件全部保存到指定目錄int count = su.save("/upload");out.println(count+"個文件上傳成功!<br>");// 利用Request對象獲取參數之值out.println("TEST="+su.getRequest().getParameter("TEST")+"<BR><BR>");// 逐一提取上傳文件信息,同時可保存文件。for (int i=0;i<su.getFiles().getCount();i++){com.jsp(SUN企業級應用的首選)smart.upload.File file = su.getFiles().getFile(i);// 若文件不存在則繼續if (file.isMissing()) continue;// 顯示當前文件信息out.println("<TABLE BORDER=1>");out.println("<TR><TD>表單項名(FieldName)</TD><TD>"+ file.getFieldName() + "</TD></TR>");out.println("<TR><TD>文件長度(Size)</TD><TD>" + file.getSize() + "</TD></TR>");out.println("<TR><TD>文件名(FileName)</TD><TD>" + file.getFileName() + "</TD></TR>");out.println("<TR><TD>文件擴展名(FileExt)</TD><TD>" + file.getFileExt() + "</TD></TR>");out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"+ file.getFilePathName() + "</TD></TR>");out.println("</TABLE><BR>");// 將文件另存// file.saveAs("/upload/" + myFile.getFileName());// 另存到以WEB應用程序的根目錄為文件根目錄的目錄下// file.saveAs("/upload/" + myFile.getFileName(), su.SAVE_VIRTUAL);// 另存到操作系統的根目錄為文件根目錄的目錄下// file.saveAs("c:\temp\" + myFile.getFileName(), su.SAVE_PHYSICAL);}%></body></html>


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved