基于Struts文件上传(FormFile)详解

网友投稿 296 2023-04-16


基于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文件进行关联Form,关联以后

1)利用表单实例进行获取FormFile实例,在获取以后,我们可以通过FormFile获取上传文件的各种信息

UserForm userForm = (UserForm) form;

String username = userForm.getUsername();

FormFile file = userForm.getFile();

//通过forfLhxMmFile可以获取关于用户上传文件的各种信息

//用于获取文件名字

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();

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详谈Java枚举、静态导入、自动拆装箱、增强for循环、可变参数
下一篇:java中计算集合的交差并集示例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~