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

引用:jspSmartUpload上傳下載全攻略

編輯:關於JSP

作者:未知 來源:未知 加入時間:2004-8-24 天新軟件園一、安裝篇

  jsp(SUN企業級應用的首選)SmartUpload是由www.jsp(SUN企業級應用的首選)smart.com網站開發的一個可免費使用的全功能的文件上傳下載組件,適於嵌入執行上傳下載操作的jsp(SUN企業級應用的首選)文件中。該組件有以下幾個特點:

1、使用簡單。在jsp(SUN企業級應用的首選)文件中僅僅書寫三五行JAVA代碼就可以搞定文件的上傳或下載,方便。

2、能全程控制上傳。利用jsp(SUN企業級應用的首選)SmartUpload組件提供的對象及其操作方法,可以獲得全部上傳文件的信息(包括文件名,大小,類型,擴展名,文件數據等),方便存取。

3、能對上傳的文件在大小、類型等方面做出限制。如此可以濾掉不符合要求的文件。

4、下載靈活。僅寫兩行代碼,就能把Web服務器變成文件服務器。不管文件在Web服務器的目錄下或在其它任何目錄下,都可以利用jsp(SUN企業級應用的首選)SmartUpload進行下載。

5、能將文件上傳到數據庫中,也能將數據庫中的數據下載下來。這種功能針對的是MySQL(和PHP搭配之最佳組合)數據庫,因為不具有通用性,所以本文不准備舉例介紹這種用法。

  jsp(SUN企業級應用的首選)SmartUpload組件可以從www.jsp(SUN企業級應用的首選)smart.com網站上自由下載,壓縮包的名字是jsp(SUN企業級應用的首選)SmartUpload.zip。下載後,用WinZip或WinRAR將其解壓到tomcat(一個很好用的JSP運行平台)的webapps目錄下(本文以tomcat(一個很好用的JSP運行平台)服務器為例進行介紹)。解壓後,將webapps/jsp(SUN企業級應用的首選)smartupload目錄下的子柯糤eb-inf名字改為全大寫的WEB-INF,這樣一改jsp(SUN企業級應用的首選)SmartUpload類才能使用。因為tomcat(一個很好用的JSP運行平台)對文件名大小寫敏感,它要求Web應用程序相關的類所在目錄為WEB-INF,且必須是大寫。接著重新啟動tomcat(一個很好用的JSP運行平台),這樣就可以在jsp(SUN企業級應用的首選)文件中使用jsp(SUN企業級應用的首選)SmartUpload組件了。

  注意,按上述方法安裝後,只有webapps/jsp(SUN企業級應用的首選)smartupload目錄下的程序可以使用jsp(SUN企業級應用的首選)SmartUpload組件,如果想讓tomcat(一個很好用的JSP運行平台)服務器的所有Web應用程序都能用它,必須做如下工作:

1.進入命令行狀態,將目錄切換到tomcat(一個很好用的JSP運行平台)的webapps/jsp(SUN企業級應用的首選)smartupload/WEB-INF目錄下。

2.運行JAR打包命令:jar cvf jsp(SUN企業級應用的首選)SmartUpload.jar com

(也可以打開資源管理器,切換到當前目錄,用WinZip將com目錄下的所有文件壓縮成jsp(SUN企業級應用的首選)SmartUpload.zip,然後將jsp(SUN企業級應用的首選)SmartUpload.zip換名為jsp(SUN企業級應用的首選)SmartUpload.jar文件即可。)

3.將jsp(SUN企業級應用的首選)SmartUpload.jar拷貝到tomcat(一個很好用的JSP運行平台)的shared/lib目錄下。

二、相關類說明篇

㈠ File類

  這個類包裝了一個上傳文件的所有信息。通過它,可以得到上傳文件的文件名、文件大小、擴展名、文件數據等信息。

  File類主要提供以下方法:

1、saveAs作用:將文件換名另存。

原型:

public void saveAs(java.lang.String destFilePathName)



public void saveAs(java.lang.String destFilePathName, int optionSaveAs)

其中,destFilePathName是另存的文件名,optionSaveAs是另存的選項,該選項有三個值,分別是SAVEAS_PHYSICAL,SAVEAS_VIRTUAL,SAVEAS_AUTO。SAVEAS_PHYSICAL表明以操作系統的根目錄為文件根目錄另存文件,SAVEAS_VIRTUAL表明以Web應用程序的根目錄為文件根目錄另存文件,SAVEAS_AUTO則表示讓組件決定,當Web應用程序的根目錄存在另存文件的目錄時,它會選擇SAVEAS_VIRTUAL,否則會選擇SAVEAS_PHYSICAL。

例如,saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)執行後若Web服務器安裝在C盤,則另存的文件名實際是c:uploadsample.zip。而saveAs("/upload/sample.zip",SAVEAS_VIRTUAL)執行後若Web應用程序的根目錄是webapps/jsp(SUN企業級應用的首選)smartupload,則另存的文件名實際是webapps/jsp(SUN企業級應用的首選)smartupload/upload/sample.zip。saveAs("/upload/sample.zip",SAVEAS_AUTO)執行時若Web應用程序根目錄下存在upload目錄,則其效果同saveAs("/upload/sample.zip",SAVEAS_VIRTUAL),否則同saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)。

建議:對於Web程序的開發來說,最好使用SAVEAS_VIRTUAL,以便移植。

2、isMissing

作用:這個方法用於判斷用戶是否選擇了文件,也即對應的表單項是否有值。選擇了文件時,它返回false。未選文件時,它返回true。

原型:public boolean isMissing()

3、getFieldName

作用:取HTML表單中對應於此上傳文件的表單項的名字。

原型:public String getFieldName()

4、getFileName

作用:取文件名(不含目錄信息)

原型:public String getFileName()

5、getFilePathName

作用:取文件全名(帶目錄)

原型:public String getFilePathName

6、getFileExt

作用:取文件擴展名(後綴)

原型:public String getFileExt()

7、getSize

作用:取文件長度(以字節計)

原型:public int getSize()

8、getBinaryData

作用:取文件數據中指定位移處的一個字節,用於檢測文件等處理。

原型:public byte getBinaryData(int index)。其中,index表示位移,其值在0到getSize()-1之間。

㈡ Files類

  這個類表示所有上傳文件的集合,通過它可以得到上傳文件的數目、大小等信息。有以下方法:

1、getCount

作用:取得上傳文件的數目。

原型:public int getCount()

2、getFile

作用:取得指定位移處的文件對象File(這是com.jsp(SUN企業級應用的首選)smart.upload.File,不是java.io.File,注意區分)。

原型:public File getFile(int index)。其中,index為指定位移,其值在0到getCount()-1之間。

3、getSize

作用:取得上傳文件的總長度,可用於限制一次性上傳的數據量大小。

原型:public long getSize()

4、getCollection

作用:將所有上傳文件對象以Collection的形式返回,以便其它應用程序引用,浏覽上傳文件信息。

原型:public Collection getCollection()

5、getEnumeration

作用:將所有上傳文件對象以Enumeration(枚舉)的形式返回,以便其它應用程序浏覽上傳文件信息。

原型:public Enumeration getEnumeration()

㈢ Request類

  這個類的功能等同於jsp(SUN企業級應用的首選)內置的對象request。只所以提供這個類,是因為對於文件上傳表單,通過request對象無法獲得表單項的值,必須通過jsp(SUN企業級應用的首選)SmartUpload組件提供的Request對象來獲取。該類提供如下方法:

1、getParameter

作用:獲取指定參數之值。當參數不存在時,返回值為null。

原型:public String getParameter(String name)。其中,name為參數的名字。

2、getParameterValues

作用:當一個參數可以有多個值時,用此方法來取其值。它返回的是一個字符串數組。當參數不存在時,返回值為null。

原型:public String[] getParameterValues(String name)。其中,name為參數的名字。

3、getParameterNames

作用:取得Request對象中所有參數的名字,用於遍歷所有參數。它返回的是一個枚舉型的對象。

原型:public Enumeration getParameterNames()

㈣ SmartUpload類這個類完成上傳下載工作。

A.上傳與下載共用的方法:

只有一個:initialize。

作用:執行上傳下載的初始化工作,必須第一個執行。

原型:有多個,主要使用下面這個:

public final void initialize(javax.servlet.jsp(SUN企業級應用的首選).PageContext pageContext)

其中,pageContext為jsp(SUN企業級應用的首選)

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