SSH框架 FileUpLoad文件上传

文件上传是很常用的一个功能,今天说一下struts2的文件上传,使用的是fileupload组件。

首先要有两个jar包,如下图所示:

如果没有这两个jar包的话上传肯定不会成功的,控制台会报错的。

然后再页面上要有一个上传文件的标签,如下图所示:

不要在意后面的onchange事件,这个是做的一个图片上传,为了能够点击图片直接弹出文件选择框而写的一个函数,顺便提一下吧,具体函数和做法如下图所示:

下面是函数:

这个。。。下面言归正传,继续说文件上传,页面上的上传文件的标签最重要的就是type="file"和这个标签的name属性,因为在action中要用到这个name属性的值。

在action中要给出如下三个文件的属性值,并且提供set/get方法。

在这可以看到,标签的name属性值使用到了,并且后面的imaFileName和imaContentType都必须以文件名字开头,不然是获取不到值的。

然后就到了具体上传的部分了,action方法如下:

大体的方法是这样的,其中

是设置你要保存文件的路径,放在WEB-INF下是为了保证文件的安全性,当然你也可以直接放在项目根目录下,也可以自己选择文件夹,下面的三行代码是判断你的项目中

是否存在你要存文件的文件夹,如果不存在的话就新建一个。

这一部分就是利用I/O流读取和写入文件了,没什么可说的,记得最后要关闭输入输出流即可。

到这一个文件上传基本完成了,但是有人会问,如果我只上传Excel文件或者word文件怎么办,再或者我只要求上传小于10M的文件怎么办?

这个问题你可以在上传的action中的方法中判断,也可以在struts2的配置文件中规定,下面上一下在struts2文件中规定的方法。

有人看到这个会说,这不是struts2的拦截器吗?对了,就是拦截器,拦截器里面设置param参数来实现上传,allowedTypes是允许上传的类型,

maximumSize是允许上传的文件大小。当然你也可以把你文件的上传路径也给放在这里。

除了拦截器,你还应该在struts2的配置文件中写入这么两行代码:

这个注释都写好了,我就不再啰嗦了。

这时候你就可以去上传文件了,但是上传的时候小手一抖,本来选图片的选了个word文件,然后也没看就上传了,然后页面上就除了一句英文,仔细一看,哦,原来是文件类型不对啊,

幸亏哥们儿英语过了六级,但是,要是英语没过六级怎么办?下面来说说英语没过六级。。。。。不是,是出现这种情况怎么办?

你需要这么两个文件就搞定了。首先在struts2配置文件中加入这么两行代码:

就是需要加入国际化的资源文件,value就是你的资源文件的名称,然后再资源文件中加入下面的代码即可

这样就可以了哦,当然你struts2配置文件中资源文件的value属性的值要和你资源文件的名字匹配。

恩,这个就是个人的一个学习记录,大牛们就可以略过了,有什么错误的欢迎大家指正。

时间: 2024-10-09 20:43:27

SSH框架 FileUpLoad文件上传的相关文章

关于我使用spring mvc框架做文件上传时遇到的问题

非常感谢作者 原文:https://blog.csdn.net/lingirl/article/details/1714806 昨天尝试着用spring mvc框架做文件上传,犯了挺多不该犯的毛病问题1:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: org.apache.catalin

笨鸟先飞之Java(一)--使用struts2框架实现文件上传和下载

不管是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个常用功能会有很多种解决方式,但是struts2的框架却能给我们一个比较简单的方式,下面就一起来看吧: 文件上传: 首先来看实现上传功能的表单,Index.jsp: <span style="font-family:FangSong_GB2312;font-size:18px;"><%@ page language="java" contentType=&q

fileupload文件上传

在使用java开发文件上传时,网络上有很多不一样的工具.但是每次如果都需要开发一次,对于使用者来说,这个过程是浪费时间的.所以我们有必要选取其中一个适合自己的文件上传组件,然后对其进一步分装,形成自己的开发工具类.下面我针对自己的工程,对fileupload进行了封装. fileupload是apache的一个组件,要想使用fileupload,需要用到下面两个jar:commons-fileupload-1.3.1.jar,commons-io-1.1.jar(版本不一样,可能相关jar包不一

改变FileUpload文件上传控件的显示方式,确认后上传

一.Aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FileUploadDemo.aspx.cs" Inherits="WebApplication1.FileUploadDemo" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu

笨鸟先飞之Java(一)--使用struts2框架实现文件上传

无论是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个经常使用功能会有非常多种解决方案,可是struts2的框架却能给我们一个比較简单的方式,以下就一起来看吧: 文件上传: 首先来看实现上传功能的表单.Index.jsp: <span style="font-family:FangSong_GB2312;font-size:18px;"><%@ page language="java" contentType

springboot框架,文件上传问题===org.springframework.web.HttpMediaTypeNotSupportedException: Content type &#39;multipart/form-data;

使用IDEA开发springboot项目,需求中要提交数据项和文件上传,同时接收实体bean对象和文件,后台Controller接收配置方式: Controller代码如下: 1 @RequestMapping(value="/comment",method = RequestMethod.POST) 2 public @ResponseBody RetResult saveIndustryComment(HttpServletRequest request,@RequestParam

【转】NodeJS教程--基于ExpressJS框架的文件上传

本文是翻译的一篇文章,原文地址:Handle File Uploads in Express (Node.js). 在NodeJS发展早期上传文件是一个较难操作的功能,随后出现了formidable.它开了一个好头,然而上传文件仍然不是那么容易.在此之后又出现了基于原文作者的教程(tutorial on handling POST requests in Express)而实现的工具connect-form.它让文件上传的过程显得简单了一些. 随着NodeJS社区的飞速发展,让上传文件这个功能变

Struts 框架 之 文件上传下载案例

Struts 框架 文件上传 1. 先准备 Struts 环境 (我使用的是struts 2.3.4版本) 导jar包:   jar包的具体作用在前面的文章有讲. 配置 web.xml <!-- Struts核心拦截器 --> <filter> <filter-name>Struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepare

Android(java)学习笔记214:开源框架的文件上传(只能使用Post)

1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Apache给我们提供了完善的框架,我们只要引入commons-fileupload-1.2.2.jar  和  commons-io-2.0.1.jar就可以使用这个Apache给我们封装好的框架,这两个jar放到如下目录下: WebContent/WEB-INF/lib/ 引入jar包之后,接下来我