国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

jspSmartUpload上傳下載全攻略1

2024-09-05 00:20:30
字體:
來源:轉載
供稿:網友

一、安裝篇

  jspsmartupload是由www.jspsmart.com網站開發的一個可免費使用的全功能的文件上傳下載組件,適于嵌入執行上傳下載操作的jsp文件中。該組件有以下幾個特點:

1、使用簡單。在jsp文件中僅僅書寫三五行java代碼就可以搞定文件的上傳或下載,方便。

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

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

4、下載靈活。僅寫兩行代碼,就能把web服務器變成文件服務器。不管文件在web服務器的目錄下或在其它任何目錄下,都可以利用jspsmartupload進行下載。

5、能將文件上傳到數據庫中,也能將數據庫中的數據下載下來。這種功能針對的是mysql數據庫,因為不具有通用性,所以本文不準備舉例介紹這種用法。

  jspsmartupload組件可以從www.jspsmart.com網站上自由下載,壓縮包的名字是jspsmartupload.zip。下載后,用winzip或winrar將其解壓到tomcat的webapps目錄下(本文以tomcat服務器為例進行介紹)。解壓后,將webapps/jspsmartupload目錄下的子目錄web-inf名字改為全大寫的web-inf,這樣一改jspsmartupload類才能使用。因為tomcat對文件名大小寫敏感,它要求web應用程序相關的類所在目錄為web-inf,且必須是大寫。接著重新啟動tomcat,這樣就可以在jsp文件中使用jspsmartupload組件了。

  注意,按上述方法安裝后,只有webapps/jspsmartupload目錄下的程序可以使用jspsmartupload組件,如果想讓tomcat服務器的所有web應用程序都能用它,必須做如下工作:

1.進入命令行狀態,將目錄切換到tomcat的webapps/jspsmartupload/web-inf目錄下。

2.運行jar打包命令:jar cvf jspsmartupload.jar com

(也可以打開資源管理器,切換到當前目錄,用winzip將com目錄下的所有文件壓縮成jspsmartupload.zip,然后將jspsmartupload.zip換名為jspsmartupload.jar文件即可。)

3.將jspsmartupload.jar拷貝到tomcat的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:/upload/sample.zip。而saveas("/upload/sample.zip",saveas_virtual)執行后若web應用程序的根目錄是webapps/jspsmartupload,則另存的文件名實際是webapps/jspsmartupload/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.jspsmart.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內置的對象request。只所以提供這個類,是因為對于文件上傳表單,通過request對象無法獲得表單項的值,必須通過jspsmartupload組件提供的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.pagecontext pagecontext)

其中,pagecontext為jsp頁面內置對象(頁面上下文)。

b.上傳文件使用的方法:

1、upload

作用:上傳文件數據。對于上傳操作,第一步執行initialize方法,第二步就要執行這個方法。

原型:public void upload()

2、save

作用:將全部上傳文件保存到指定目錄下,并返回保存的文件個數。

原型:public int save(string destpathname)

和public int save(string destpathname,int option)

其中,destpathname為文件保存目錄,option為保存選項,它有三個值,分別是save_physical,save_virtual和save_auto。(同file類的saveas方法的選項之值類似)save_physical指示組件將文件保存到以操作系統根目錄為文件根目錄的目錄下,save_virtual指示組件將文件保存到以web應用程序根目錄為文件根目錄的目錄下,而save_auto則表示由組件自動選擇。

注:save(destpathname)作用等同于save(destpathname,save_auto)。

3、getsize

作用:取上傳文件數據的總長度

原型:public int getsize()

4、getfiles

作用:取全部上傳文件,以files對象形式返回,可以利用files類的操作方法來獲得上傳文件的數目等信息。

原型:public files getfiles()

5、getrequest

作用:取得request對象,以便由此對象獲得上傳表單參數之值。

原型:public request getrequest()

6、setallowedfileslist

作用:設定允許上傳帶有指定擴展名的文件,當上傳過程中有文件名不允許時,組件將拋出異常。

原型:public void setallowedfileslist(string allowedfileslist)

其中,allowedfileslist為允許上傳的文件擴展名列表,各個擴展名之間以逗號分隔。如果想允許上傳那些沒有擴展名的文件,可以用兩個逗號表示。例如:setallowedfileslist("doc,txt,,")將允許上傳帶doc和txt擴展名的文件以及沒有擴展名的文件。

7、setdeniedfileslist

作用:用于限制上傳那些帶有指定擴展名的文件。若有文件擴展名被限制,則上傳時組件將拋出異常。

原型:public void setdeniedfileslist(string deniedfileslist)

其中,deniedfileslist為禁止上傳的文件擴展名列表,各個擴展名之間以逗號分隔。如果想禁止上傳那些沒有擴展名的文件,可以用兩個逗號來表示。例如:setdeniedfileslist("exe,bat,,")將禁止上傳帶exe和bat擴展名的文件以及沒有擴展名的文件。

8、setmaxfilesize

作用:設定每個文件允許上傳的最大長度。

原型:public void setmaxfilesize(long maxfilesize)

其中,maxfilesize為為每個文件允許上傳的最大長度,當文件超出此長度時,將不被上傳。

9、settotalmaxfilesize

作用:設定允許上傳的文件的總長度,用于限制一次性上傳的數據量大小。

原型:public void settotalmaxfilesize(long totalmaxfilesize)

其中,totalmaxfilesize為允許上傳的文件的總長度。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌图县| 齐齐哈尔市| 博白县| 正安县| 汽车| 吉林省| 大田县| 陆河县| 襄垣县| 凯里市| 林芝县| 米林县| 灵璧县| 梅河口市| 兰西县| 定南县| 桦川县| 安溪县| 云安县| 宁城县| 平昌县| 德惠市| 平度市| 云南省| 崇州市| 钟山县| 闽侯县| 萍乡市| 韶关市| 克东县| 麟游县| 永州市| 临沂市| 浦北县| 安仁县| 临高县| 丹寨县| 广河县| 和林格尔县| 濉溪县| 遂昌县|