当前位置:主页 > java教程 > 基于Struts文件上传(FormFile)详解

基于Struts FormFile上传文件

发布:2020-02-12 19:45:36 141


我们帮大家精选了Java相关的编程文章,网友慕学博根据主题投稿了本篇教程内容,涉及到Struts、FormFile、基于Struts文件上传(FormFile)详解相关内容,已被106网友关注,涉猎到的知识点内容可以在下方电子书获得。

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

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

以上这篇基于Struts文件上传(FormFile)详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。


参考资料

相关文章

  • Struts2 通过ognl表达式实现投影的方法

    发布:2019-12-04

    这篇文章主要介绍了Struts2 通过ognl表达式实现投影,具有一定参考价值,需要的朋友可以了解下。


  • Struts2文件上传基础教程

    发布:2020-03-03

    Struts2提供的文件上传下载机制十分简便,使得我们写很少的代码,下面这篇文章主要给大家介绍了关于Struts2学习手册之文件上传的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可


  • J2EE中的struts2表单细节处理

    发布:2022-06-17

    给大家整理了关于J2EE的教程,这篇文章主要介绍了J2EE中的struts2表单细节处理的相关资料,需要的朋友可以参考下


  • struts2标签总结

    发布:2020-01-21

    这篇文章主要为大家详细总结了struts2标签的使用方法,和学习资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • struts2类型转换的实例代码和讲解

    发布:2019-08-29

    这篇文章主要介绍了struts2中类型转换实例代码,具有一定参考价值,需要的朋友可以了解下。


  • Struts2 Action类访问WEB资源的方法

    发布:2020-01-20

    这篇文章主要给大家介绍了关于Struts2学习教程之Action类如何访问WEB资源的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随


  • 实例讲解struts2中使用注解配置Action

    发布:2020-03-18

    这篇文章主要介绍了struts2中使用注解配置Action方法详解,涉及一个示例,具有一定参考价值,需要的朋友可以了解下。


网友讨论