您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關利用Struts怎么實現一個文件上傳功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1.在jsp文件中進行定義
<form action="/StrutsFileUpAndDown/register.do" method="post" enctype="multipart/form-data"> 名字:<input type="text" name="name" /> 頭像:<input type="file" name="file"/> <input type="submit" value="注冊用戶"> </form>
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文件進行關聯Form,關聯以后
1)利用表單實例進行獲取FormFile實例,在獲取以后,我們可以通過FormFile獲取上傳文件的各種信息
UserForm userForm = (UserForm) form; String username = userForm.getUsername(); FormFile file = userForm.getFile(); //通過formFile可以獲取關于用戶上傳文件的各種信息 //用于獲取文件名字 String fileName = file.getFileName(); //用于獲取文件大小 int fileSize = file.getFileSize();
2)通過FormFile實例獲取輸入流,創建一個輸出流,并且在代碼中獲取tomcat服務器的絕對路徑
try { //獲取輸入流 is = file.getInputStream(); //得到輸出流 //1.得到file文件夾,上傳到tomcat服務器后的絕對路徑(file文件為新創建的文件夾) String filePath = this.getServlet().getServletContext().getRealPath("/file"); //兩個"//"的其中一個"/"為轉義符 os=new FileOutputStream(filePath+"\\"+fileName); int len=0;//表示讀取的字節 //做一個緩存,防止文件過大而造成錯誤 byte[] buff=new byte[1024]; while((len=is.read(buff))!=-1) { os.write(buff,0,len); } is.close(); os.close(); }
上述就是小編為大家分享的利用Struts怎么實現一個文件上傳功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。