struts中的文件上传

struts2实现文件上传下载 在struts2基础上实现的包括单文件、多文件的上传及下载 立即下载

文件上传有三种方式
1.上传到tomcat服务器。
一般不推荐使用。

原因:
存在两点瑕疵:
①上传后需要刷新一遍,图片才会出来。
②重启tomcat后,图片会丢失。

2.上传到指定文件目录,添加服务器与真实目录的映射关系,从而解耦上传文件与tomcat的关系(主要使用的方式)

上传文件的跳转页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/sy/MyClass_upload.action" method="post" enctype="multipart/form-data">
	<input type="hidden" value="${result.cid }" name="cid"><br>
	<input type="hidden" value="${result.cname }" name="cname"><br>
	<input type="hidden" value="${ result.cteacher}" name="cteacher"><br>
	<!--
	上传文件
	-->
	<input type="file"  name="file"><br>
	
	<input type="submit" value="ok">
</form>
</body>
</html>
  子控制器添加几个属性值:
	private File file;
	private String fileFileName;
	private String fileContentType;
	

	跳转页面的方法:
	/**
	 * 图片上传跳转页面
	 * @return
	 */
	public String preUpload() {
		try {
			if(myClass.getCid()!=0) {
				this.result=classDao.findByCnameallClassListAndPage(myClass, null).get(0);
			}
		} catch (InstantiationException | IllegalAccessException | SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "preUpload";
	}
	


 添加server.xml的配置
 <Context docBase="D:/T237_tu/" path="/struts/upload"></Context>



/**
	 * 从本地读取文件到服务器
	 * @param source
	 * @param target
	 * @throws Exception
	 */
	public void copyFile(File source,File target) throws Exception {
		BufferedInputStream in=new BufferedInputStream(new FileInputStream(source));
		BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream(target));
		byte[] bbyte=new byte[1024];
		int len=0;
		while((len=in.read(bbyte))!=-1) {
			out.write(bbyte, 0, len);
		}
		in.close();
		out.close();
		
	}
	



	图片上传
	/**
	 * 图片上传
	 * @return
	 * @throws IOException 
	 */
	public String upload() {
		//图片上传的真实目录
		String realDri="D:/T237_tu";
		//服务器中存放图片的目录
		String serverDri="/upload";
		try {
			//FileUtils.copyFile(file, new File(realDri+"/"+fileFileName));
			//将本地图片上传到服务器中某一真实目录下(从本地读取文件到服务器中)
			copyFile(file, new File(realDri+"/"+fileFileName));
			myClass.setCip(serverDri+"/"+fileFileName);
			classDao.editMyClassByCid(myClass);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return "toList";
	}




添加struts-sy.xml的配置
<result name="preUpload">/preUpload.jsp</result>




主页面的上传文件按钮:
<a href="${pageContext.request.contextPath}/sy/MyClass_preUpload.action?cid=${c.cid }">上传</a>


主页面的图片展示
<input style="width: 100px;height: 100px" type="image" src="${pageContext.request.contextPath}${c.cip }">

效果:
在这里插入图片描述

3.在数据库表中建立二进制字段,将图片存储到数据库 。
现在这种方式已经淘汰

原因:
占用空间大
查询耗时长

实现struts2的文件上传文件功能 NULL 博文链接:https://yqshfut.iteye.com/blog/619870 立即下载

相关推荐

struts上传问题研究

NULL 博文链接:https://yqshfut.iteye.com/blog/621740

基于struts实现文件的上传

基于struts实现图片的上传 首先是前端的jsp页面 &amp;lt;form&amp;gt; &amp;lt;input type=&quot;file&quot; id=&quot;upload&quot; name=&quot;upload&quot;/&amp;gt; &amp;lt;input type=&quot;button&quot; value=&quot;上传&quo

丁三寿 213

【C++】auto关键字(C++11,超详细解析,小白必看系列)

本文详细解析了C++中的“auto”关键字,介绍了其定义、基本用法、限制和高级用法,特别是与范围for循环和Lambda表达式结合的应用。

m0_73494049的博客 6万+

Struts之文件上传

文件上传( 三种上传方案): 1、上传到tomcat服务器 ; ①自己的电脑,项目在哪里,图片就在哪里; ②云服务器:是没有CDEF盘的,只有/根目录 2(用的多)、上传到指定文件目录,添加服务器与真实目录的映射关系,从而解耦上传文件与tomcat的关系文件服务器和web服务器通常是一个,但是文件目录与Tomcat目录肯定不是同一个 3、在数据库表中建立二进制字段,将图片存储到数据库; 安全性比第二种高 服务器:ECS云服务器 struts上传的注意: 1...

Cat_Jay_Fish的博客 537

从学生项目到工程实践:手把手教你用ATE测试电源芯片的Rdson与漏电流

本文详细介绍了如何将学术级的电源芯片测试方案转化为工业级解决方案,重点讲解使用ATE设备测试Rdson(导通电阻)和漏电流的关键技术。从设备选型、测试夹具设计到量产环境下的工程化实现,提供了实用的优化技巧和常见问题解决方案,帮助工程师提升测试效率和精度。

weixin_42525289的博客 180

AutoDock Vina 对接计算(大批量)

AutoDock Vina是一种用于计算生物分子之间相互作用的计算工具,主要用于蛋白质和小分子(通常是潜在药物分子)之间的对接研究。它可以用于虚拟筛选、药物设计和生物分子结合位点的预测等多个应用领域。

MurphyStar的博客 1万+

Struts2注解配置Action、返回Json(restful api)、上传图片转Base64

Struts2注解配置Action、返回Json、上传图片转Base64Struts2应用@Action注解写Action测试和图片转Base64显示本测试使用的 gradle.build 配置。web.xml里的struts过滤器spring-context web监听器还是要配置结合Spring注解还是要在applicationContext.xml里开启一些配置处理图片Action上传和显示...

wangxudongx的专栏 1217

【电驱动】永磁同步电机工作原理及分类

永磁同步电机工作原理及分类

星Yeah 的博客 7321

重温经典struts1之文件上传

struts1实现文件上传功能

dy051107的博客 1318

UniApp X 网络请求避坑指南:从 JS 到 UTS 的 JSON 数据处理全解析

摘要:UniAppX开发中处理JSON数据时,UTS强类型特性要求开发者改变JS习惯。本文对比两种主流方案:1)UTSJSONObject通过keypath访问数据,兼容JS但缺乏类型提示;2)type+泛型方案,通过定义数据类型实现强类型校验和智能提示,推荐用于固定数据结构。文章详细演示了两种方式的具体实现、转换方法及实战案例,并提供了类型定义技巧和注意事项,帮助开发者编写更稳定高效的跨平台应用。

归梦工作室 2788

Ultrascale/Ultrascale+ FPGA GTH IP及结构详解(一)

FPGA GTH Transceiver

houzi6320的博客 1万+

struts1中的文件上传

在struts1和2中,分别对 commons-fileupload组件进行了包装,使文件上传操作更方便。 本文讲解如何使用struts1上传文件。 步骤: 1 编写jsp页面 2 给jsp中的form表单配置一个ActionForm 3 编写Action,处理文件上传功能 4 配置struts-config.xml文件 5 测试

zhanggnol的blog 2794

C-Lodop打印服务系统存在任意文件读取

C-Lodop打印服务系统存在任意文件读取

weixin_43567873的博客 2872

Struts 中的文件上传[转贴]

                                                      Struts 中的文件上传[转贴] 作者:冷月公主 (原贴)http://www.xindonghong.com/blog/more.asp?name=wsq&id=666  冷月宫主 最近刚做完一个项目,用Struts1.1做的。从不懂,到熟练使用,都靠

eako的专栏 1730

【实战教程】OpenClaw接入MySQL数据库实战指南

本文介绍了在虚拟机Ubuntu中访问宿主机Win11中MySQL数据库的配置方法,重点包括创建远程用户、权限配置和安全设置。首先在MySQL中创建具有只读权限的用户并刷新权限,然后调整服务器设置允许远程连接。文章还提供了某金融机构财富管理系统的数据库设计方案,包含理财产品表、客户表和份额表的核心结构,其中金额字段使用DECIMAL类型确保精度,并设置唯一键约束。文末强调测试环境配置完成后应恢复安全更新模式以保障生产环境安全。

海兰 8696

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

struts2中的文件上传与下载

3.struts2中文件上传与下载     1.上传         浏览器端:             1.method=post             2.&lt;input type="file" name="xx"&gt;             3.encType="multipart/form-data";                      服务器端:           ...

漫漫学习成长之路 155

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

使用struts2中的文件上传

 struts2中提供了对文件上传的支持,主要是通过File Upload Interceptor来实现的。这个拦截器有两个参数可以设置:maximumSize 和allowedTypes ,其中,maximumSize是允许上传的文件的最大容量,allowedTypes是允许的mimeType类型。错误提示信息可以在i18n资源文件中指定,有以下三个key:(1)struts.mes

小肖的专栏 809

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

struts2中的文件上传

在struts 2的文件上传操作比struts1更简单方便。struts1的文件上传请看:http://blog.youkuaiyun.com/zhanggnol/archive/2011/01/05/6118895.aspx本文讲解如何使用struts2上传文件。步骤:    1 编写jsp页面    2 编写Action,处理文件上传功能    3 配置struts.xml文件    5 测试1、jsp页面—upload_form.jsp    pageEncoding="ISO-8859-1"%>

zhanggnol的blog 748

Struts中的文件上传

Struts中的表单 <s:form action="/upload" enctype="multipart/form-data"> <s:textfield label="用户名" name="username"/> <s:textfield label="密码" name="password"/> <s:file label="照片" na...

126

struts2中的文件上传实现

以前,我们实现文件上传的时候,有点小麻烦~~~,但是,利用struts2中的一些组件来实现的话,那是相当简单的!! 好的,不再废话了,进入正题~~   首先,利用struts2来来实现文件上传,首先要用到两个jar包,commons-fileupload-1.3.jar和commons-io.2.0.1.jar 然后呢,struts2使用action来实现文件上传!,该action一般包括

kyrin(云中鹤) 1241

struts中的文件上传解决

一、web.xml配置,这里将文件上传配置为upload模块。   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"   "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">  Struts Blank Application              action    

Bob@优快云 806
上一篇: 对layui的初步认识
下一篇: 使用Hibernate完成增删改查
water_java
博客等级 码龄7年 9粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值