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

发布时间 - 2026-01-11 02:57:13    点击率:

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


# Struts文件上传  # JavaWeb Struts文件上传功能实现详解  # JavaEE中struts2实现文件上传下载功能实例解析  # JavaWeb中struts2实现文件上传下载功能实例解析  # java中struts2实现简单的文件上传与下载  # 给大家  # 表单  # 上传文件  # 我们可以  # 希望能  # 注册用户  # 做一个  # 这篇  # 其中一个  # 创建一个  # 小编  # 大家多多  # 大而  # 文件上传  # 上传  # Form  # submit  # input  # type  # file 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现用户密码重置功能?(完整流程代码)  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Laravel如何使用Sanctum进行API认证?(SPA实战)  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  千库网官网入口推荐 千库网设计创意平台入口  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  如何在宝塔面板创建新站点?  java获取注册ip实例  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  详解阿里云nginx服务器多站点的配置  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  手机软键盘弹出时影响布局的解决方法  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  高防服务器租用指南:配置选择与快速部署攻略  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  韩国服务器如何优化跨境访问实现高效连接?  Android自定义listview布局实现上拉加载下拉刷新功能  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  Java解压缩zip - 解压缩多个文件或文件夹实例  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  网站制作价目表怎么做,珍爱网婚介费用多少?  如何在阿里云香港服务器快速搭建网站?  中山网站制作网页,中山新生登记系统登记流程?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  java ZXing生成二维码及条码实例分享  如何在服务器上三步完成建站并提升流量?  微信小程序 五星评分(包括半颗星评分)实例代码  实例解析Array和String方法  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  个人摄影网站制作流程,摄影爱好者都去什么网站?  公司网站制作价格怎么算,公司办个官网需要多少钱?  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  bootstrap日历插件datetimepicker使用方法  Laravel PHP版本要求一览_Laravel各版本环境要求对照  EditPlus 正则表达式 实战(3)  linux写shell需要注意的问题(必看)  Laravel如何配置Horizon来管理队列?(安装和使用)  北京网站制作的公司有哪些,北京白云观官方网站?  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  如何在建站之星网店版论坛获取技术支持?  如何在阿里云部署织梦网站?