Struts2.0文件上傳與下載_第1頁
Struts2.0文件上傳與下載_第2頁
Struts2.0文件上傳與下載_第3頁
Struts2.0文件上傳與下載_第4頁
Struts2.0文件上傳與下載_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、文件上傳與下載全解析struts的上傳封裝的已經(jīng)非常完美了,首先我們來看一下頁面<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 中,我們來看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;個東西會自動注入進(jìn)來,根據(jù)要求對文件名更改下,保存下好了,接著我們要提供下載,看看struts是怎么做的,網(wǎng)上關(guān)于這方面資料很少,就一個家伙把官方的showcase翻譯下,我再完整的走一遍流程在頁面中<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 這個東西也是大家比相應(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");這一步也是非常重要的。注意:第一個轉(zhuǎn)換,"ISO-8859-1""UTF-8"UTF-8是根據(jù)你自己的編碼來處理"iso-8859-1"你就不要改變了,不管你是什么編碼,都第二個轉(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論