m0_37950269 2017-03-17 09:58
浏览 815
已结题

struts通过ajax上传文件超大后,Action失效

struts上传文件设置了大小限制,正常文件上传没问题,但是上传个超大文件后,再次上传正常文件,也无法上传了。
而且这个Action的所有接口都无法访问。
具体代码如下。

struts配置

 <constant name="struts.multipart.maxSize" value="20971520" />
        <action name="testUpload" class="testUploadAction" >
            <interceptor-ref name="fileUpload">
                <param name="maximumSize">1048576</param> 
            </interceptor-ref>
            <interceptor-ref name="defaultStack"/>
        </action>

Action

 public void uploadPackage() {
...
}

    @Override
    public void addActionError(String anErrorMessage) {
        // TODO(1)
        super.addActionError(anErrorMessage);
    }

js

 $.ajaxFileUpload({
    type : "post",
    url : root + "/testUpload!uploadPackage.action",
    fileElementId: ["packageFile"],
    dataType: 'json',
    success : function(result) {
        ...
    },
    error : function() {
            // TODO(2)
        ...
    },
});

调试时,后台在TODO(1)的位置打了断点,前台在TODO(2)的位置打了断点。
struts设置的maxSize是20M,过滤器里限制的是1M。
1.当上传1M以下的文件时,没问题。反复上传也没问题。
2.如果,上传1M以上20M以下的文件时,断点没进入,后台报错
No result defined for action testUploadAction and result input
再次上传正确的文件,依然报错
No result defined for action testUploadAction and result input
而且这个Action中的所有接口都无法被访问了
3.上传20M以上的文件时,前台只请求了一次,
TODO(1)的断点却进入2次,同样TODO(2)的断点也进入2次。
再次上传正常文件,后台报错
No result defined for action testUploadAction and result input
而且这个Action中的所有接口都无法被访问了

求大神指点,是哪里设置出现了问题,还是哪里写错了。
为什么只请求一次,后台TODO(1)会走进去2次?
再次Action里的接口怎么全都无法访问了?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 mmocr的训练错误,结果全为0
    • ¥15 python的qt5界面
    • ¥15 无线电能传输系统MATLAB仿真问题
    • ¥50 如何用脚本实现输入法的热键设置
    • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
    • ¥30 深度学习,前后端连接
    • ¥15 孟德尔随机化结果不一致
    • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
    • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
    • ¥15 谁有desed数据集呀