![Struts2.0文件上傳與下載_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/792bb815-46bf-4f7b-b1f3-9a5894495b42/792bb815-46bf-4f7b-b1f3-9a5894495b421.gif)
![Struts2.0文件上傳與下載_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/792bb815-46bf-4f7b-b1f3-9a5894495b42/792bb815-46bf-4f7b-b1f3-9a5894495b422.gif)
![Struts2.0文件上傳與下載_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/792bb815-46bf-4f7b-b1f3-9a5894495b42/792bb815-46bf-4f7b-b1f3-9a5894495b423.gif)
![Struts2.0文件上傳與下載_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/792bb815-46bf-4f7b-b1f3-9a5894495b42/792bb815-46bf-4f7b-b1f3-9a5894495b424.gif)
![Struts2.0文件上傳與下載_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/15/792bb815-46bf-4f7b-b1f3-9a5894495b42/792bb815-46bf-4f7b-b1f3-9a5894495b425.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、文件上傳與下載全解析struts的上傳封裝的已經非常完美了,首先我們來看一下頁面<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 >主要關注的就是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ù)要求對文件名更改下,保存下好了,接著我們要提供下載,看看struts是怎么做的,網(wǎng)上關于這方面資料很少,就一個家伙把官方的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我們已經寫在了 jsp的URL中了,contentType 這個東西也是大家比相應的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要轉換下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");這一步也是非常重要的。注意:第一個轉換,"ISO-8859-1""UTF-8"UTF-8是根據(jù)你自己的編碼來處理"iso-8859-1"你就不要改變了,不管你是什么編碼,都第二個轉換,"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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加油車配送合同范本
- 公司承包轉讓合同范本
- 2025年度高新技術園區(qū)過橋資金借款申請扶持合同
- 2025年中國當歸行業(yè)發(fā)展趨勢預測及投資戰(zhàn)略咨詢報告
- 0元租賃合同范例
- 個人車輛維修合同范例
- 2025年度環(huán)??⒐を炇湛鐓^(qū)域協(xié)作與支持合同
- 別墅裝修裝飾合同范本
- 買賣小牛犢合同范本
- 農村蓋房承攬合同范例
- 歷史時間軸全
- 2019譯林版高中英語全七冊單詞總表
- 高速行業(yè)網(wǎng)絡安全與維護
- 2024年能源電力行業(yè)數(shù)字化轉型解決方案
- (2024年)房地產銷售人員心態(tài)培訓
- 康復科院感年度工作計劃
- T-BJCC 1003-2024 首店、首發(fā)活動、首發(fā)中心界定標準
- 《海洋自然保護區(qū)》課件
- 2024年云南機場集團飛機維修服務分公司招聘筆試參考題庫含答案解析
- 外科手術及護理常規(guī)
- 蘇少版小學一年級下冊綜合實踐活動單元備課
評論
0/150
提交評論