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

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

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

          ??? 用標(biāo)簽處理文件上傳,幾個(gè)屬性控制文件大小、文件類型等特性,應(yīng)是最理想的方法。

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

          ???

          上 傳 文 件 至 文 件 夾

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

          一、準(zhǔn)備

          1 、確保有 struts 運(yùn)行環(huán)境;

          2 、下載 newxy1.03.zip 或更高版。解壓,將 newxy1.03.jar 或更高版類庫拷到 WEB-INF/lib 下,將 newxy-html.tld newxy-logic.tld newxy-bean.tld 三個(gè)標(biāo)簽定義文件拷到 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 代碼實(shí)現(xiàn)文件上傳。

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

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

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

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

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

          6 、標(biāo)簽 <nlogic:action1 id="act1" formName="fileForm"/> 產(chǎn)生靜態(tài)頁面的 javascript 函數(shù): act1 Upload(...){...} 。點(diǎn)擊“文件上傳”按鈕將調(diào)用這個(gè)函數(shù)。結(jié)果是將數(shù)據(jù)提交上來由標(biāo)簽 nlogic:action1 id="act1" formName="fileForm"/> 來處理,將文件內(nèi)容寫到指到的路徑。

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

          上 傳 文 件 至 數(shù) 據(jù) 庫

          利用 newxy ( 新坐標(biāo) ) 技術(shù)上傳文件至數(shù)據(jù)庫極其簡單。

          一、準(zhǔn)備

          1 、確保有 struts 運(yùn)行環(huán)境;

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

          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">

          ? 數(shù)據(jù)庫表名: <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 代碼實(shí)現(xiàn)文件上傳。

          1 _table 為保留屬性,其值是數(shù)據(jù)庫表名。

          2 newxy ( 新坐標(biāo) ) 實(shí)現(xiàn)文件上傳至數(shù)據(jù)庫,可以同時(shí)保存文件名、文件類型、大小、擴(kuò)展名等信息。 標(biāo)簽<nhtml:file />詳解

          文件名:

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

          文件大小:

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

          文件類型:

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

          文件擴(kuò)展名:

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

          限制類型:

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

          ?

          3 property 屬性值是保存文件內(nèi)容的字段名。

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

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

          6 、標(biāo)簽 <nlogic:action1 id="act1" formName="fileForm"/> 產(chǎn)生靜態(tài)頁面的 javascript 函數(shù): act1 Update( ...){...} 。點(diǎn)擊“文件上傳”按鈕將調(diào)用這個(gè)函數(shù)。結(jié)果是將數(shù)據(jù)提交上來由標(biāo)簽 nlogic:action1 id="act1" formName="fileForm"/> 來處理,將文件內(nèi)容寫到數(shù)據(jù)庫的字段中。

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

          newxy(新坐標(biāo))技術(shù)網(wǎng)站:http://www.newxy.net

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 梁河县| 康定县| 德惠市| 扬中市| 常德市| 北辰区| 桑植县| 皋兰县| 晴隆县| 西乌珠穆沁旗| 阆中市| 正镶白旗| 德庆县| 大方县| 克拉玛依市| 漯河市| 饶平县| 东阿县| 舒兰市| 无为县| 绥中县| 高台县| 曲水县| 垦利县| 齐齐哈尔市| 台安县| 白河县| 鲁山县| 绥滨县| 锦屏县| 枝江市| 富蕴县| 麻栗坡县| 赣榆县| 若尔盖县| 大宁县| 宝山区| 建始县| 奎屯市| 红桥区| 九台市|