热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

基于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文件进行关联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)详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


推荐阅读
author-avatar
伊利纯羊毛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有