`
hxlzpnyist
  • 浏览: 44129 次
  • 性别: Icon_minigender_1
  • 来自: 信阳
社区版块
存档分类
最新评论

实现struts2文件上传的类型限定以及文件大小控制

 
阅读更多

  上次只是简单的实现了文件的上传功能,并没有实现上传文件的类型和大小的控制。这次主要是实现这两种功能。

      1,在文件上传实现类UploadFile.java中添加文件类型的属性如下:

 

private String uploadContentType;

public String getUploadContentType() {
		return uploadContentType;
	}

public void setUploadContentType(String uploadContentType) {
		this.uploadContentType = uploadContentType;
	}

 

    2.在struts.xml文件中配置文件上传的拦截器

 

   

<action name="upload" class="hxlzp.uploadfile.UploadFile">
          <interceptor-ref name="fileUpload">
	<param name="allowedTypes">
image/bmp,image/png,image/gif,image/pjpeg,image/jpg 
                </param>
	<param name="maximumSize">2048</param>//限定图片大小不能超过2k
         </interceptor-ref>		
         <interceptor-ref name="defaultStack"></interceptor-ref>
         <result name="success">/index1.jsp</result>
         <result name="error">/error.jsp</result>
         <result name="input">/upload.jsp</result>
</action>

 

此处注意:在为action显示的引用了拦截器之后,继承package的默认拦截器将不再起作用,所以为了继续使用默认拦截器,还必须引用默认拦截器

 

   3.在返回input视图的upload.jsp页面显示上传文件类型错误的提示

 

<%@taglib prefix="s" uri="/struts-tags" %>
引用struts2标签

<s:fielderror></s:fielderror>
显示错误信息

 此时运行测试 页面显示的错误信息为:系统给出的英文提示,为了便于用户明白,需做一下设置,也就牵扯到struts2的国际化问题了。

 

 4.让错误信息显示为 自定义

  • 在类路径下创建struts.properties文件 内容为:struts.custom.i18n.resources=message
  • 同样在类路径下创建message_zh_CN.properties文件 内容为:

           struts.messages.error.content.type.not.allowed=\u4e0a\u4f20\u6587\u4ef\u7c7b\u578b\u5fc5\u987b\u4e3a:bmp,png,gif,pjpeg,jpg

           struts.messages.error.file.too.large=\u6587\u4EF6\u8FC7\u5927\uFF01

          红色标注的是通过转码后生成的 中文为:上传文件类型必须为

 

 

  5.完成以上 则可以进行测试上传错误类型的文件

      页面显示为:    上传文件类型必须为:bmp,png,gif,pjpeg,jpg

    后台则给出警告信息:

20120:43:40 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn

警告: 上传文件类型必须为:bmp,png,gif,pjpeg,jpg

      上传文件过大的

           页面显示:文件过大!

           后台警告:

           2011-11-4 20:58:33 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: 文件过大!

此时上传文件的类型与文件大小限定已经成功。

 

 

 

 有些内容来自:http://zochegua.blog.163.com/blog/static/13183292320104134309737/

 

 

 

分享到:
评论

相关推荐

    struts实现文件上传和下载源代码

    在这个"struts实现文件上传和下载源代码"项目中,我们将会探讨如何使用Struts框架来实现在Web应用中进行文件的上传和下载功能,同时还会关注对于大文件(超过3MB)的处理策略。 1. **文件上传** 文件上传是Web应用...

    Struts2实现Uploadify多文件上传

    在Struts2框架下实现Uploadify多文件上传,我们需要考虑以下几个关键知识点: 1. **Struts2 Action配置**: 在Struts2中,你需要创建一个Action类来处理文件上传请求。这个Action类需要继承`org.apache.struts2....

    struts2文件上传

    Struts2文件上传是Java Web开发中的一个...1. **配置Struts2的配置文件**:在struts.xml中,我们需要为文件上传Action定义一个action节点,设置其class属性为Action类的全限定名,并启用文件上传的配置。例如: ```xml ...

    jsp+struts文件上传

    在本文中,我们将深入探讨如何使用JSP(JavaServer Pages)和Struts框架实现文件上传功能。这是一个在Web开发中常见的需求,特别是在处理用户提交的数据时。Struts是一个基于MVC(Model-View-Controller)设计模式的...

    struts1实现图片上传

    考虑到安全性,需要限制上传文件的大小和类型,防止DoS攻击和恶意文件上传。可以在Action中进行这些验证,或者利用过滤器来拦截不符合条件的请求。 8. **资源管理**: 上传的图片可能占用大量存储空间,因此需要...

    struts1.0的上传代码

    2. **创建Action类**:你需要创建一个继承自Struts 1.0的`Action`类的子类,如`UploadAction`,并在其中处理文件上传。这通常包括接收表单参数,解析上传的文件,并将其保存到服务器的某个位置。例如: ```java ...

    tomcat上传下载文件

    以上就是关于“Tomcat上传下载文件”的知识点,包括了Struts2的文件上传处理、Servlet的文件下载实现以及相关的文件操作。在实际开发中,还需要考虑文件的安全性,例如防止上传恶意文件、限制上传文件大小、保护下载...

    struts上传下载源代码

    Struts 是一个经典的Java Web开发框架,用于构建MVC...综上所述,Struts实现文件上传下载涉及Struts配置、JSP页面、Action类和文件存储策略等多个方面。每个环节都需要细致设计和实现,以确保功能的完整性和安全性。

    JSP Struts配置文件详解

    - **@tempDir**:指定文件上传时的临时工作目录,若未设置,则使用Servlet容器为Web应用分配的临时工作目录。 - **@noCache**:如果设为`true`,则在响应头中添加特定参数(如`Pragma`, `Cache-Control`, `Expires`...

    Struts上传图片操作

    在Struts中实现文件上传功能,是开发者经常遇到的需求,特别是处理用户上传图片的情况。以下是对Struts上传图片操作的详细说明。 首先,我们需要在Struts配置文件(struts-config.xml)中添加相应的Action配置,...

    java图片上传源代码

    Struts2提供了丰富的功能,包括处理表单提交,拦截器,以及JSON(JavaScript Object Notation)支持,使数据交换更便捷。 标题中的“java图片上传源代码”指的是使用Java编程语言实现的图片上传功能。通常,这个...

    strtus2 完成配置

    - `&lt;constant&gt;`:用于配置Struts2的全局常量,如国际化资源文件的位置、上传文件的最大大小等。 - `&lt;package&gt;`:定义了一个包,其中包含了多个Action。`name`属性定义了包的名称,`extends`属性指定了继承的父包,`...

    JAVA上百实例源码以及开源项目源代码

    日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...

Global site tag (gtag.js) - Google Analytics