`
x放羊的星星
  • 浏览: 37537 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于Struts2的上传,在文件类型或大小错误后,就不能继续上传的问题

 
阅读更多
这个问题的主要原因是:

因为spring的bean 默认是单态singleton
的。这样导致一个问题:就是当我们如果上传了一个不允许的类型文件或超出大小范围的文件,之后再上传正常的文件也上传不了。这时候需要把bean 设置为非单态模式  scope="prototype":

<bean id="IssueTeaAction" class="zjnu.soft.action.issue.IssueTeaAction" scope="prototype">
           <property name="issueService" ref="issueService"></property>
   </bean>

加入 scope="prototype"能解决问题;

Struts2文件上传步骤:

1、在jsp页页面

                 <s:form method="post" enctype="multipart/form-data"
                        action="uploadMaterials" onsubmit="return checkfm(this)">

                    <s:file name="file" theme="simple" id="file" />

                   </s:form>

   注意method="post" enctype="multipart/form-data"

表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值:

a 、   application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里的value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码方式。

b 、   multipart/form-data:这种编码方式的表单会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里。

c、     text/plain:这种方式主要适用于直接通过表单发送邮件的方式。



2、在Struts.xml中

        <action name="uploadMaterials" class="IssueTeaAction"
            method="uploadMaterials">
            <result>
                /WEB-INF/FrontstageManagement/issueManager/share/message.jsp
            </result>
              <result name="input">
                /WEB-INF/FrontstageManagement/issueManager/share/errorupload.jsp
            </result>
           
            <interceptor-ref name="fileUpload">
                <param name="maximumSize">4096000</param><!-- 单个文件的大小 单位4000kb -->
                <param name="allowedTypes">
                    application/powerpoint,application/pdf,application/vnd.ms-word,text/plain,application/xslt+xml
                    ,application/zip,application/rar,application/octet-stream
                </param>
            </interceptor-ref>
            <interceptor-ref name="defaultStack" />
        </action>

3、在action就略大家的都不一样嘛!
http://item.taobao.com/item.htm?id=15656343226
分享到:
评论

相关推荐

    struts文件上传大小限制问题

    - 在Struts的配置文件(如`struts-config.xml`或`struts2.xml`)中,可以自定义拦截器来处理文件大小限制。例如,在Struts 2中,可以使用`FileUploadInterceptor`并设定`maximumSize`属性。 3. **Java代码控制**:...

    struts2文件上传下载源代码

    2. **设置Struts2配置**:配置文件需要指定允许上传的文件大小、类型等。例如,使用`&lt;constant&gt;`标签设置`struts.multipart.parser`为`jakarta`,以启用`Commons FileUpload`。 3. **编写Action类**:在Action类中...

    struts2文件上传,文件大小设置

    同时,Struts2提供了一个`FileUploadInterceptor`拦截器,用于处理文件上传的相关逻辑,包括验证文件大小。 1. **文件大小设置**: 在Struts2的配置文件(通常为struts.xml)中,我们可以定义一个全局或特定于...

    swfuplaod+struts2实现多文件上传

    3. **创建Struts2 Action**:在Struts2框架中,创建一个处理文件上传的Action类,该类通常会包含一个`List&lt;HttpServletFileWrapper&gt;`类型的属性,用于接收上传的文件。 4. **编写Struts2配置**:在struts.xml配置...

    struts2框架下的文件上传

    - 文件大小限制:Struts2默认有文件大小限制,可以通过配置参数`struts.multipart.maxSize`进行调整。 - 文件类型检查:为了安全,需要验证上传文件的类型,防止恶意文件上传。 - 错误处理:确保捕获并处理可能出现...

    struts2实现的文件上传(带文件类型和大小大小验证的)

    在这个"struts2实现的文件上传(带文件类型和大小验证的)"示例中,我们将深入探讨如何在Struts2中实现这一功能。 首先,我们需要在Struts2的配置文件(struts.xml)中添加一个或多个action配置,用于处理文件上传...

    JavaEE Struts文件上传

    JavaEE Struts 文件上传是Web开发中的...在实际应用中,确保文件上传的健壮性和安全性是至关重要的,比如防止文件覆盖、大小限制、非法文件类型上传等问题。通过实践和不断学习,开发者可以更好地理解和运用这一功能。

    struts2上传文件源代码

    6. **错误处理**:文件上传可能会出现各种问题,例如文件过大、文件类型不合法等。因此,我们需要在Action中处理这些异常情况,返回相应的错误信息给用户。 7. **结果映射**:根据Action的执行结果,Struts2将决定...

    struts2 实现文件批量上传

    4. **文件验证**:在处理文件上传时,通常需要对文件大小、类型等进行验证。这可以通过自定义拦截器或在Action类的方法中实现。 5. **文件存储**:上传的文件需要存储在服务器的某个位置。可以选择临时目录、特定的...

    Struts2文件上传的大小限制问题

    这篇博客“Struts2文件上传的大小限制问题”可能讨论了如何在Struts2中设置和管理这些限制。Struts2框架通过配置文件(如struts.xml或struts.properties)来控制文件上传的最大大小。开发者可以指定一个全局的限制,...

    struts2文件上传jar

    `FileItem` 是Apache Commons FileUpload提供的类,它可以更精细地控制文件上传的细节,如文件大小限制、文件类型检查等。而`File` 对象则对应于服务器上的临时文件路径,通常在Action执行完毕后,你需要将文件移动...

    struts2s上传文件

    在Struts2中,文件上传功能是一项常用的功能,允许用户通过Web表单上传文件到服务器。本篇将深入探讨Struts2中的文件上传机制、步骤以及常见问题。 首先,我们要理解文件上传的基本原理。在Web应用中,文件上传通常...

    Struts2文件上传源码

    5. **错误处理与验证**: Struts2允许在Action中进行字段验证,如果上传过程中出现问题,可以通过`addFieldError`方法添加错误信息,然后返回错误的结果代码,如`INPUT`,让用户重新上传。 6. **源码分析**: 要深入...

    Struts2框架实现文件上传

    这里`struts.multipart.saveDir`定义了临时文件保存的目录,`struts.multipart.maxSize`设定了允许上传的最大文件大小。 3. **Action类**: 创建一个处理文件上传的Action类,需要继承自`org.apache.struts2....

    Struts2+上传文件源码

    在实际应用中,还需要处理可能出现的各种异常情况,比如文件大小超出限制、文件类型不合法等,这通常需要在Action中添加额外的验证逻辑和错误消息。 在"loadfile"这个压缩包中,应该包含了实现以上步骤的源代码,...

    struts2文件上传和下载

    Struts2允许设置最大上传文件大小,并通过`filter-mapping`配置限制可接受的MIME类型。 6. **错误处理与反馈**: 在处理文件上传和下载时,可能会出现各种异常,如文件不存在、磁盘空间不足等。因此,需要适当的错误...

    struts2多文件的上传

    使用Struts2的验证框架,可以在文件上传前验证文件类型、大小等,避免无效或恶意文件的上传。如果发生错误,Struts2会自动返回错误页面。 6. **多文件上传的优化** 当上传大量文件时,可能需要考虑异步上传,以...

    简单易懂的struts2文件上传

    在实际应用中,你还需要考虑文件上传可能遇到的问题,如文件大小超出限制、文件类型不合法等。这些可以通过自定义异常处理或在Action类中抛出异常来实现。 8. **安全注意事项** 在处理文件上传时,确保对文件名...

    Struts2文件上传程序示例

    这里要注意文件大小和类型的检查,以防止非法文件或大文件上传导致的问题。 在配置文件中,我们需要为Action添加对应的配置,指定Action类、结果页面以及文件上传相关的参数: ```xml ...

    Struts2文件上传

    在Struts2中实现文件上传是常见的需求,比如上传头像或文档。本篇文章将详细讲解如何利用Struts2框架来实现头像上传功能。 首先,我们需要在Struts2配置文件(struts.xml)中添加相关的action配置,以便处理文件...

Global site tag (gtag.js) - Google Analytics