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

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

葬身李刚儿子车轮下的漂亮女孩

这么一个青春、靓丽的女孩~~~~~~~~就这样丧生在官二代的铁轮下~~~~~~~~~~~~可惜了~~~~~~~~~~~~哀痛啊,什么世道!转载于:https://blog.51cto.com/jsfido/418494

EF Core事务提交,分布式事务

控制事务可以使用 DbContext.Database API 开始、提交和回滚事务。 以下示例显示了在单个事务中执行的两个 SaveChanges 操作以及一个 LINQ 查询:using var context new BloggingContext(); using var transaction context.Database.BeginTransaction();try {cont…

RTC 媒体流数据包丢包问题解决

最近在一个测试中,遇到了OCS和PSTN通话之间的声音出现严重的断续问题,用户的使用体验就是听对方的声音不是完整的,有部分的语音丢失,在服务器上判断就是RTC数据包丢失了。专业术语就是Voice clipping。先看看丢包的恐怖情况&#…

global.php,global.php

/*** 自动判断PHP版本,并把所有环境变量转为全局变量** author Avenger * version $Id 2003-05-18 13:01:14 $*/ function pmyoutput(&$a) {if (is_array($a)) {array_walk($a,"pmyoutput");} else {$a stripslashes($a);$a str_replace("&…

如何在 ASP.Net Core 中使用 Autofac

依赖注入可以有效的实现对象之间的 松耦合 并能够实现代码的可测试和可维护性,ASP.Net Core 提供了一个极简版的容器实现对 依赖注入 的原生支持,然而内置的依赖注入容器相比成熟的 依赖注入容器 太弱了。为了解决这个问题,可以使用第三方的依…

2010年11月编程语言排行榜:手机里的代码

【51CTO独家特稿】Tiobe今天发布了最新一期的编程语言排行榜。本期榜单的前五名与10月份没有明显变化,依然是Java、C、C、PHP和Python;Objective-C的增长势头强劲。本期另外一个值得注意的语言是重回前20名NXT-G。NXT-G是一种集成在乐高(LEGO…

php网站开发期末大作业,大学生期末网页大作业

【实例简介】6页面的网页设计,是个人主页类型。包含了6个页面,包含视频、脚本等元素。水平不高,但交选修作业就足够了。【实例截图】【核心代码】为ai而狂└── 为ai而狂├── FLVPlayer_Progressive.swf├── Halo_Skin_3.swf├── Scri…

NET问答: 如何迭代 Enum ?

咨询区 Peter Mortensen:如何使用 C# 迭代 enum ?下面的代码会编译失败,错误信息: Suit is a type but is used like a variablepublic enum Suit {Spades,Hearts,Clubs,Diamonds }public void EnumerateAllSuitsDemoMethod() {foreach (Suit suit in S…

python hexdigest,Java方法,可以为Hex中的HMAC-SHA256提供与Python方法相同的输出

你确定你的密钥和输入是相同的,并在java和python中正确编码?HMAC-SHA256在两个平台上的工作方式相同.Java的Mac sha256_HMAC Mac.getInstance("HmacSHA256");SecretKeySpec secretKey new SecretKeySpec("1234".getBytes(), "HmacSHA256…

承接数字油画图稿/线条图定制(出图)业务

集异璧实验室对外提供数字油画图纸(图稿/线条图)定制和自选业务,欢迎洽谈。 定制流程: (1)贵方将图片传给我方; (2)我方出图,提供效果图; &#…

爬取异步请求(XHR/JS)数据方法

概述之前在做爬虫的时候,比如在爬取到https://www.1688.com/?spma261p.8650866.0.0.2dfa36c3tjLrCQ网页的时候,发现很多内容明明在浏览器看得见,但是请求下来的内容却没有,于是打开F12查看Network发现,如下&#xff1…

SQLServer支持大内存方案(转载)

转载自:http://user.qzone.qq.com/33524538?ptlang2052 SQLServer支持大内存方案 一、启动PAE支持; 方法:系统安装目录的根目录下有个系统隐藏文件:boot.int,加入/PAE参数 [boot loader] timeout30 defaultmulti(0)disk(0)rdisk(0)partition(1)\WINDOWS…

php的old函数,laravel单元测试之phpUnit中old()函数报错解决

php 的 laravel单元测试之phpUnit中old()函数报错解决前言最近在做laravel单元测试.遇到了一个问题:当添加的view里面使用old()函数时就会报错,正常url访问没问题,但是在phpUnit中就报错错误原因: exception RuntimeException with message Session store not set o…

ASP.NET Core 集成 React SPA 应用

AgileConfig的UI使用react重写快完成了。上次搞定了基于jwt的登录模式(AntDesign Pro .NET Core 实现基于JWT的登录认证),但是还有点问题。现在使用react重写后,agileconfig成了个确确实实的前后端分离项目。那么其实部署的话要分…

IBM在欧洲启动“智能云”研发计划

据国外媒体报道,IBM今日宣布将与15个欧洲合作伙伴启动一项联合研究项目,其中包括标准组织以及电信、医疗和媒体行业的企业一起开发一种基于目标的、标准化的“智能云”存储架构。 IBM表示,此次合作的目的是改善富媒体数据和存储服务跨国界跨厂…

etcd php,etcd集群备份和数据恢复

etcd是一个分布式k-v数据库,在kubernetes中使用其管理集群的元数据。这里介绍etcd集群数据的备份和数据恢复的方法和步骤。快照定期备份crontab定期执行备份脚本,每半小时备份一次,本地、异地都备份(暂定:本地备份保留最近10个备份…

Ingress-nginx工作原理和实践

本文记录/分享 目前项目的 K8s 部署结构和请求追踪改造方案这个图算是一个通用的前后端分离的 k8s 部署结构:Nginx Ingress 负责暴露服务(nginx前端静态资源服务), 根据十二要素应用的原 则,将后端 api 作为 nginx 服务的附加动态资源。Ingress vs Ingre…

oracle 查看用户状态,Oracle数据库查看用户状态

一、当前ORACLE用户的状态可查看视图DBA_USERS;一般情况下在使用的正常用户均处于OPEN状态。select username,account_status from dba_users;二、ORACLE数据库用户有多种状态,可查看视图USER_ASTATUS_MAP。select * from user_astatus_map;九种状态可分为两类&…

Dotnet洋葱架构实践

一个很清晰的架构实践,同时刨刨MySQL的坑。一、洋葱架构简介洋葱架构出来的其实有一点年头了。大约在2017年下半年,就有相关的说法了。不过,大量的文章在于理论性的讨论,而我们今天会用一个项目来完成这个架构。洋葱架构&#xff…

显示桌面,原来这么简单的

显示桌面的按钮其实很简单,我也是无意中发现的,代码如下,复制到记事本中,另存为.scf文件,文件名随便去,双击即可看看效果,^_^[Shell]Command2IconFileexplorer.exe,3[Taskbar]CommandToggleDesktop转载于:https://www.cnblogs.com/crid/archive/2010/11/28/5172732.html