這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)利用Struts怎么實(shí)現(xiàn)一個(gè)文件上傳功能,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
創(chuàng)新互聯(lián)公司是由多位在大型網(wǎng)絡(luò)公司、廣告設(shè)計(jì)公司的優(yōu)秀設(shè)計(jì)人員和策劃人員組成的一個(gè)具有豐富經(jīng)驗(yàn)的團(tuán)隊(duì),其中包括網(wǎng)站策劃、網(wǎng)頁美工、網(wǎng)站程序員、網(wǎng)頁設(shè)計(jì)師、平面廣告設(shè)計(jì)師、網(wǎng)絡(luò)營銷人員及形象策劃。承接:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、網(wǎng)頁設(shè)計(jì)制作、網(wǎng)站建設(shè)與維護(hù)、網(wǎng)絡(luò)推廣、數(shù)據(jù)庫開發(fā),以高性價(jià)比制作企業(yè)網(wǎng)站、行業(yè)門戶平臺(tái)等全方位的服務(wù)。
1.在jsp文件中進(jìn)行定義
2.在Form表單中定義FormFile
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.yourcompany.struts.form; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import org.apache.struts.upload.FormFile; /** * MyEclipse Struts * Creation date: 08-24-2017 * * XDoclet definition: * @struts.form name="userForm" */ public class UserForm extends ActionForm { /* * Generated Methods */ private String username; private FormFile file; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public FormFile getFile() { return file; } public void setFile(FormFile file) { this.file = file; } }
3.利用struts文件進(jìn)行關(guān)聯(lián)Form,關(guān)聯(lián)以后
1)利用表單實(shí)例進(jìn)行獲取FormFile實(shí)例,在獲取以后,我們可以通過FormFile獲取上傳文件的各種信息
UserForm userForm = (UserForm) form; String username = userForm.getUsername(); FormFile file = userForm.getFile(); //通過formFile可以獲取關(guān)于用戶上傳文件的各種信息 //用于獲取文件名字 String fileName = file.getFileName(); //用于獲取文件大小 int fileSize = file.getFileSize();
2)通過FormFile實(shí)例獲取輸入流,創(chuàng)建一個(gè)輸出流,并且在代碼中獲取tomcat服務(wù)器的絕對(duì)路徑
try { //獲取輸入流 is = file.getInputStream(); //得到輸出流 //1.得到file文件夾,上傳到tomcat服務(wù)器后的絕對(duì)路徑(file文件為新創(chuàng)建的文件夾) String filePath = this.getServlet().getServletContext().getRealPath("/file"); //兩個(gè)"http://"的其中一個(gè)"/"為轉(zhuǎn)義符 os=new FileOutputStream(filePath+"\\"+fileName); int len=0;//表示讀取的字節(jié) //做一個(gè)緩存,防止文件過大而造成錯(cuò)誤 byte[] buff=new byte[1024]; while((len=is.read(buff))!=-1) { os.write(buff,0,len); } is.close(); os.close(); }
上述就是小編為大家分享的利用Struts怎么實(shí)現(xiàn)一個(gè)文件上傳功能了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。