隨筆-39  評論-33  文章-0  trackbacks-0

          最簡單的文件上傳方法 ???

          ??????? 文件上傳是基本運用,因而討論的也多,方法五花八門。那么什么樣的方法是最好的方法呢,應該是代碼最少,最好理解的方法。?

          ??? 用標簽處理文件上傳,幾個屬性控制文件大小、文件類型等特性,應是最理想的方法。

          ??? newxy(新坐標)用標簽來處理文件上傳,不用寫代碼,比smartUpload簡便。

          ???

          上 傳 文 件 至 文 件 夾

          利用 newxy ( 新坐標 ) 技術上傳文件至文件夾極其簡單。

          一、準備

          1 、確保有 struts 運行環境;

          2 、下載 newxy1.03.zip 或更高版。解壓,將 newxy1.03.jar 或更高版類庫拷到 WEB-INF/lib 下,將 newxy-html.tld newxy-logic.tld newxy-bean.tld 三個標簽定義文件拷到 WEB-INF/ 目錄下;

          3 、建一 jsp 文件,如 upload.jsp

          ?

          二、 jsp 文件


          <%@ page contentType="text/html; charset=GBK" %>
          <%@ tagliburi="/WEB-INF/newxy-html.tld" prefix="nhtml"%>
          <%@ tagliburi="/WEB-INF/newxy-logic.tld" prefix="nlogic"%>

          <nlogic:action1 id="act1" formName="fileForm"/>
          <nhtml:form action="" formName="fileForm" enctype="multipart/form-data">
          ?
          文件夾: <input type="text" name="_directory" size="40"/><br />
          ?
          文件 1, 不大于 1024K <nhtml:file property="file1" size="40" maxSize="1024"fileLimit="zip"/><br />
          ?
          文件 2, 不大于 1024K <nhtml:file property="file2" size="40" maxSize="1024"fileLimit="zip"/><br />
          </nhtml:form>
          <nhtml:buttonactionId="act1" method="upload" value=”
          文件上傳 ”/>

          三、說明

          可以不寫 java 代碼實現文件上傳。

          1 、本例一次可以上傳兩個文件,理論上可以一次上傳無限多個文件,上傳多個文件時, property 屬性值不能相同。

          2 、本例上傳文件不大于 1024K 字節,文件上傳最大值由 maxSize 屬性值確定,如果此值為空,最大值不大于 struts 設置的最大值,默認為 250M

          3 、本例上傳文件擴展名限于 ”zip” 上傳文件的擴展名由 fileLimit 屬性值指定,如果 fileLimit 值為空,上傳文類型不受限制

          4 、上傳文件保存在 _directory 屬性值指定的文件夾中。 _directory 可以是絕對路徑如 c:\temp ,也可以是 URI ,如 images images WEB 上下文下的一個文件夾。

          5 、標簽 <nhtml:form action="" formName="fileForm" /> action 屬性是空值,表明以當前路徑作為 頁面表單的 action 值。 formName 屬性值與標簽 <nlogic:action1 id="act1" formName="fileForm"/> formName 屬性值相同。

          6 、標簽 <nlogic:action1 id="act1" formName="fileForm"/> 產生靜態頁面的 javascript 函數: act1 Upload(...){...} 。點擊“文件上傳”按鈕將調用這個函數。結果是將數據提交上來由標簽 nlogic:action1 id="act1" formName="fileForm"/> 來處理,將文件內容寫到指到的路徑。

          7 、標簽 <nhtml:buttonactionId="act1" method="upload" value=” 文件上傳 ”/> onclick 事件調用 act1 Upload() 方法。

          上 傳 文 件 至 數 據 庫

          利用 newxy ( 新坐標 ) 技術上傳文件至數據庫極其簡單。

          一、準備

          1 、確保有 struts 運行環境;

          2 、下載 newxy1.03.zip 或更高版。解壓,將 newxy1.03.jar 更高版類庫拷到 WEB-INF/lib 下,將 newxy-html.tld newxy-logic.tld newxy-bean.tld 三個標簽定義文件拷到 WEB-INF/ 目錄下,將 newxy.properties 文件拷到 WEB-INF/classes 下,并根據需要進行設置;

          3 、建一 jsp 文件,如 upload.jsp

          二、 jsp 文件
          ???????????? <%@ page contentType="text/html; charset=GBK" %>
          ???????????? <%@ tagliburi="/WEB-INF/newxy-html.tld" prefix="nhtml"%>
          ???????????? <%@ tagliburi="/WEB-INF/newxy-logic.tld" prefix="nlogic"%>

          ???????? <nlogic:action1 id="act1" formName="fileForm"/>

          <nhtml:form action="" formName="fileForm" enctype="multipart/form-data">

          ? 數據庫表名: <input type="text" name="_table" size="40"/><br />

          ? 說明: <input type="text" name="explain" size="40"/><br />

          ? 不大于 1024K <nhtml:file property="field1" size="40" maxSize="1024"/><br />

          ? 不大于 1024K <nhtml:file property="field2" size="40" maxSize="1024"/><br />

          </nhtml:form>

          <nhtml:buttonactionId="act1" method="update"/>

          ?

          三、說明

          可以不寫 java 代碼實現文件上傳。

          1 _table 為保留屬性,其值是數據庫表名。

          2 newxy ( 新坐標 ) 實現文件上傳至數據庫,可以同時保存文件名、文件類型、大小、擴展名等信息。 標簽<nhtml:file />詳解

          文件名:

          上傳的文件名保存到某字段中,保存文件名的字段名由 <nhtml:file/> 標簽 fileNameField 元素值指定。

          文件大小:

          上傳的文件大小保存到某字段中,保存文件大小的字段名由 <nhtml:file/> 標簽 fileSizeField 元素值指定。本例上傳文件不大于 1024K

          文件類型:

          上傳的文件類型保存到某字段中,保存文件類型的字段名由 <nhtml:file/> 標簽 fileTypeField 元素值指定。

          文件擴展名:

          上傳的文件擴展名保存到某字段中,保存文件擴展名的字段名由 <nhtml:file/> 標簽 fileExtendNameField 元素值指定。

          限制類型:

          上傳文件的限制類型由 <nhtml:file/> 標簽 fileLimit 元素值指定。如 fileLimit ="jsp" ,只能上傳 jsp 文件。本例不限制。

          ?

          3 property 屬性值是保存文件內容的字段名。

          4 、上傳文件大小由 maxSize 屬性值確定,本例可同時上傳二個文件,上傳文件不大于 1024K 。理論上同時上傳文件數量不限,上傳成功與否會提示給用戶。如果 maxSize 為空,最大值不大于 struts 設置的最大值,默認最大值為 250M

          5 、標簽 <nhtml:form action="" formName="fileForm" /> action 屬性是空值,表明以當前路徑作為 頁面表單的 action 值。 formName 屬性值與標簽 <nlogic:action1 id="act1" formName="fileForm"/> formName 屬性值相同。

          6 、標簽 <nlogic:action1 id="act1" formName="fileForm"/> 產生靜態頁面的 javascript 函數: act1 Update( ...){...} 。點擊“文件上傳”按鈕將調用這個函數。結果是將數據提交上來由標簽 nlogic:action1 id="act1" formName="fileForm"/> 來處理,將文件內容寫到數據庫的字段中。

          7 、標簽 <nhtml:buttonactionId="act1" method="update" value= 文件上傳 /> onclick 事件調用 act1 Update() 方法。

          newxy(新坐標)技術網站:http://www.newxy.net

          posted on 2006-07-18 18:35 newxy新坐標 閱讀(704) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 孙吴县| 合水县| 德惠市| 云龙县| 平乐县| 丹东市| 余干县| 崇信县| 崇文区| 盘山县| 绥宁县| 潮安县| 清苑县| 桐乡市| 东乌珠穆沁旗| 龙口市| 德化县| 葫芦岛市| 泰和县| 阜城县| 高邑县| 南投市| 合山市| 胶南市| 西青区| 社旗县| 安仁县| 绩溪县| 玉龙| 陆丰市| 准格尔旗| 扎鲁特旗| 聂荣县| 左云县| 平邑县| 凤凰县| 酒泉市| 通道| 台安县| 江山市| 淮阳县|