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

上傳下載全攻略jspSmartUpload

編輯:關於JSP

一、安裝篇 

  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目錄下的子目錄Web-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 ge

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