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文件进行关联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文件上传(formfile)详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。
希望与广大网友互动??
点此进行留言吧!