版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、文件上傳與下載全解析struts的上傳封裝的已經(jīng)非常完美了,首先我們來(lái)看一下頁(yè)面<s:form action ="" method= "p ost" enctype="mult ip art/form-data"><td height ="32" class="heder">上傳檔案</ td><td alig n ="left" bgcolor ="#FFFFFF" class ="mai n2&quo
2、t;><s:filen ame="docume ntFile" /></ td><td alig n ="cen ter">vinput type ="submit" value ="保 存" class ="butt on"on click ="retur n n extsubmit();"/></ td></s:form >主要關(guān)注的就是enctype="mult ip art/form-d
3、ata"<s:filen ame="docume ntFile"/>在action 中,我們來(lái)看privateStri ngdocume ntFileC ontentType;privateStri ngdocume ntFileFileName;privateFiledocume ntFile;publicStri nggetDocume ntFileC ontentTyp e()returndocume ntFileC ontentType;docume ntFileC ontentTypp ublicvoidsetDocume ntFileC o
4、ntentTyp e(Stri nge) docume ntFileC ontentType;src);p ublicStri nggetDocume ntFileFileName()returndocume ntFileFileName;p ublicvoidsetDocume ntFileFileName(Stri ng=docume ntFileFileName;p ublicFilegetDocume ntFile()retur ndocume ntFile;p ublicdocume ntFileFileName)void setDocume ntFile(File=docume n
5、tFile;docume ntFile) p rivatevoidcopy( Filesrc, File dst) InputStream in =null ;Out putStreamouttry innull ;new Bufferedl np utStream(new FileInputStream(outnew BufferedOutputStream(new FileOutputStream(dst);byte whilebuffer = new byte 1024;(buffer) >0)(buffer);();(); catch(Exce ptio ne) ();p ubl
6、ic String save()if (!("")archives");String folder().getReal Path("/new File(folder);File rootDirStri ng fileEx();Stri ng fileRealName(0,(".")+ (new Date().getTime()+fileEx;Stri ng fileNamefolder +""+ fileRealName;copy(documentFile,new File(fileName);retur n&qu
7、ot;success"docume ntFile;上傳后這三docume ntFileC ontentType;docume ntFileFileName;個(gè)東西會(huì)自動(dòng)注入進(jìn)來(lái),根據(jù)要求對(duì)文件名更改下,保存下好了,接著我們要提供下載,看看struts是怎么做的,網(wǎng)上關(guān)于這方面資料很少,就一個(gè)家伙把官方的showcase翻譯下,我再完整的走一遍流程在頁(yè)面中<s:url id ="url" action ="dow nl oad"><s:paramname="inputPath"> /archives/
8、<s:property value ="loc" /></ s:param ></s:url > <s:a href ="%url"> 下載 </s:a>在action 中imp ortimp ort imp ort imp ortimp ortinputP athnew String("ISO-8859-1"),"UTF-8");p ublicclassFileDow nl oadActi onimp leme ntsActio n ().setHead
9、er("C onten t-Dis po siti on","attachme nt;file name="+ np ublicInpu tStreamgetI npu tStream()throws Exce pti on retur n().getResourceAsStream(i nputP ath);p ublicString execute() throwsExcep ti on("/")+1, ();Stri ngfileNameew String("gb2312"),"iso-8859-1
10、");retur nSUCCESS;可以看到inputPath我們已經(jīng)寫在了 jsp的URL中了,contentType 這個(gè)東西也是大家比相應(yīng)的XML配置<act ionn ame="dow nl oad"class ="FileDow nl oadAct ion">vresultn ame="success"type ="stream"><param name="inputName"> inputStream </ param><p
11、aram n ame="bufferSize">4096</ p aram></ result ></ action >這里要注意,在action 中inputPath要轉(zhuǎn)換下new String("ISO-8859-1"),"UTF-8");另外在"attachme nt;setHeader("C onten t-Dis po siti on", file name="+ new Strin g("gb2312"),"is
12、o-8859-1");這一步也是非常重要的。注意:第一個(gè)轉(zhuǎn)換,"ISO-8859-1""UTF-8"UTF-8是根據(jù)你自己的編碼來(lái)處理"iso-8859-1"你就不要改變了,不管你是什么編碼,都第二個(gè)轉(zhuǎn)換,"gb2312"這么處理就是了,只要你的客戶用的是中文的操作系統(tǒng),呵呵大家在官方例子showcase里看到的是這樣的<act ionn ame="dow nl oad"class =""><param name="inputPath&q
13、uot;> /images/ </param>vresultn ame="success"type ="stream">p aram><p aram<p aram<p aramname="contentType"> image/gif </ param>name="inputName"> inputStream </ param>n ame="c onten tDis po siti on">file name="" </</ result ></ act
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版綠色能源項(xiàng)目水電設(shè)施承包合同3篇
- 二零二五年架子工工程綠色施工技術(shù)指導(dǎo)合同模板2篇
- 2025版人工智能項(xiàng)目提成協(xié)議書(技術(shù)成果轉(zhuǎn)化提成合同)3篇
- 二零二五年度太陽(yáng)能光伏電站安裝與運(yùn)營(yíng)管理合同3篇
- 2025年度深井鉆井工程環(huán)保驗(yàn)收合同4篇
- 二零二五年度房地產(chǎn)交易風(fēng)險(xiǎn)預(yù)警協(xié)議3篇
- 2025餐飲業(yè)三人合作開(kāi)發(fā)新菜品協(xié)議2篇
- 2025年度水庫(kù)魚塘漁業(yè)養(yǎng)殖與漁業(yè)保險(xiǎn)合作承包合同4篇
- 泥工包工2025年度合同范本2篇
- 二零二五年車牌指標(biāo)租賃與汽車租賃服務(wù)合同3篇
- 《健康體檢知識(shí)》課件
- 部編版語(yǔ)文五年級(jí)下冊(cè) 第一單元 專項(xiàng)訓(xùn)練課外閱讀(含答案)
- 蘇少版七年級(jí)美術(shù)下冊(cè) 全冊(cè)
- 名表買賣合同協(xié)議書
- JTG-T-F20-2015公路路面基層施工技術(shù)細(xì)則
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 中西方校服文化差異研究
- 《子宮肉瘤》課件
- 《準(zhǔn)媽媽衣食住行》課件
- 給男友的道歉信10000字(十二篇)
- 客人在酒店受傷免責(zé)承諾書范本
評(píng)論
0/150
提交評(píng)論