段建國-課件chapterStruts2目前還是通過實(shí)現(xiàn)文件上一個(gè)時(shí)它通_第1頁
段建國-課件chapterStruts2目前還是通過實(shí)現(xiàn)文件上一個(gè)時(shí)它通_第2頁
段建國-課件chapterStruts2目前還是通過實(shí)現(xiàn)文件上一個(gè)時(shí)它通_第3頁
段建國-課件chapterStruts2目前還是通過實(shí)現(xiàn)文件上一個(gè)時(shí)它通_第4頁
段建國-課件chapterStruts2目前還是通過實(shí)現(xiàn)文件上一個(gè)時(shí)它通_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、Chapter13 文件上傳和一、 文件上傳Struts2 目前還是通過 Commons FileUpload 實(shí)現(xiàn)文件上。上傳一個(gè)文件時(shí),它通常會被在一個(gè)臨時(shí)目錄中,他們應(yīng)該由 Action 類進(jìn)行處理或移動(dòng)到一個(gè)的目錄,以確保數(shù)據(jù)不丟失。請注意,服務(wù)器有一個(gè)安全策略可能會寫到目錄以外的臨時(shí)目錄和屬于 web 應(yīng)用的目錄。在 Struts 中的文件上傳是通過預(yù)先定義的文件上傳器這是可通過.apache.struts2.erceptor.FileUploaderceptor 類的defaultStack 中的一部分。 仍然可以使用在 struts.xml 中設(shè)置各種參數(shù)。示例:Web 項(xiàng)目 V

2、alidateAction1、創(chuàng)建 chapter13.jsp注意:method=t enctype=multipart/form-data上傳文件必須這么設(shè)2、cs.jsp上傳成功!$fileFileName 3、修改 struts.xml(4)創(chuàng)建 action:FileLoadAction.java/upload/file/chapter13.jsp/file/sucs.jsp1024*1024 image/bmp,image/jpeg,image/gif,image/png package com.java.file;import java.io.*;import.apache.str

3、uts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class FileLoadAction extend/上傳屬性ionSupport private File file;/取上傳的文件變量private String fileFileName;/取上傳文件文件名,命名規(guī)則:上傳文件變量+FileNameprivate String savePath;public File getFile() return file;public String getSavePath() return s

4、avePath;public String getFileFileName() return fileFileName;public void setFileFileName(String fileFileName) this.fileFileName = fileFileName;public void setSavePath(Stringthis.savePath = savePath;public void setFile(File file)this.file = file;public String execute() throws/獲取配置文件中的目錄savePath) Excep

5、tion /savePath = ServletActionContext.getServletContext().getRealPath( savePath)+ + fileFileName;/測試換成臨時(shí)地址 時(shí)間運(yùn)行用上面的savePath =d:uploadimage+ + fileFileName;/文件流讀寫 BufferedInputStream bis = null;BufferedOutputStreamtry = null;bis = new BufferedInputStream(new FileInputStream(file);= new BufferedOutput

6、Stream(new FileOutputStream(savePath);byte buf=new byte()file.length(); len=0;while(len=bis.read(buf)!=-1).write(buf,0,len);catch (Exception e) e.prStackTrace();finally bis.close();.close();return SUCS;(5)發(fā)布測試:ValidateAction/file/chapter13.jsp二、文件(1)創(chuàng)建 chapter13-1.jsp(2)修改 struts.xml(3)創(chuàng)建 action: Fi

7、leDownAction.javapackage com.java.file;import java.io.*;import.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; public class FileDownAction extendionSupport private InputStream inputStream;private String downName;public InputStream getInputStream() throws FileNotFou

8、ndException /正式用/return ServletActionContext.getServletContext().getResourceAsStream(upload/+downName);return new FileInputStream( d:uploadimage+ +downName);public void setInput(InputStream inputStream) /this.inputStream = inputStream;/臨時(shí)用下面的 正式用上面的try this.inputStream = new FileInputStream( d:uploadimage+ +downName); catch (FileNotFoundException e) / TODO Auto-generated catch

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論