java中formfile,基于Struts FormFile上传文件
基于Struts文件上傳(FormFile)詳解
Struts中FormFile用于文件進行上傳
1.在jsp文件中進行定義
名字:
頭像:
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文件進行關聯(lián)Form,關聯(lián)以后
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實例獲取輸入流,創(chuàng)建一個輸出流,并且在代碼中獲取tomcat服務器的絕對路徑
try {
//獲取輸入流
is = file.getInputStream();
//得到輸出流
//1.得到file文件夾,上傳到tomcat服務器后的絕對路徑(file文件為新創(chuàng)建的文件夾)
String filePath = this.getServlet().getServletContext().getRealPath("/file");
//兩個"//"的其中一個"/"為轉義符
os=new FileOutputStream(filePath+"\\"+fileName);
int len=0;//表示讀取的字節(jié)
//做一個緩存,防止文件過大而造成錯誤
byte[] buff=new byte[1024];
while((len=is.read(buff))!=-1)
{
os.write(buff,0,len);
}
is.close();
os.close();
}
以上這篇基于Struts文件上傳(FormFile)詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持碼農之家。
以上就是本次給大家分享的關于java的全部知識點內容總結,大家還可以在下方相關文章里找到相關文章進一步學習,感謝大家的閱讀和支持。
總結
以上是生活随笔為你收集整理的java中formfile,基于Struts FormFile上传文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三星哈曼 Harman 收购 Roon
- 下一篇: 余承东:新成立的智能车企由华为主导技术研