基于Struts文件上传(FormFile)详解
时间:2021-07-15 09:31:38|栏目:JAVA代码|点击: 次
Struts中FormFile用于文件进行上传
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();
}
上一篇:简单谈谈RxJava和多线程并发
栏 目:JAVA代码
下一篇:Java编程中的性能优化如何实现
本文地址:http://www.codeinn.net/misctech/157656.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




