`
x放羊的星星
  • 浏览: 35397 次
  • 性别: 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文件上传大小限制,对大小进行限制以及常见错误

    strust文件上传

    {//当上传的类型不为上述类型时,跳转到错误页面。 forward=mapping.findForward("error"); } else { // 将上传时间加入文件名(这个地方的是毫秒数) String times = String.valueOf(date.getTime()); //...

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

     这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行jar就可以了。 Java 3DMenu 界面源码 5个目标文件 ...

    JspRun!社区论坛系统 v6.0 bulid 090423 GBK 源码版.rar

    27、修复了广告数量不能整除时无法显示广告的问题 28、修复了“系统错误记录”无法写入的问题 29、修复了后台操作中如果 session 过期重新登陆后出现循环跳转 30、修复了恶意访问后台权限判断,个人签名过滤恶意...

    JspRun!社区论坛系统 v6.0 bulid 090424 GBK 安装版.rar

    27、修复了广告数量不能整除时无法显示广告的问题 28、修复了“系统错误记录”无法写入的问题 29、修复了后台操作中如果 session 过期重新登陆后出现循环跳转 30、修复了恶意访问后台权限判断,个人签名过滤恶意...

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

     这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失。使用时候只需在控制台窗口执行jar就可以了。 Java 3DMenu 界面源码 5个目标文件 ...

    利用SSH分页显示三国人物信息

    大家好,我是利用Struts+Spring+Hibernater做的一个简单的三国人物...还有就是我上传的文件大小有限,所以我把lib文件夹下的JAr包都删了,所以还请您自己把三个框架的Jar包放进lib中去,不然会报错的啦。真不好意思啊。

Global site tag (gtag.js) - Google Analytics