iteye_1458 2010-01-12 20:45
浏览 226
已采纳

文件上传大小出问题了

上传大文件时,浏览器进度条停不下来了呢?要等进度条走完了,才能返回错误结果,而且客户端cpu狂转。
服务器端我做了上传大小限制,不能超过7MB.
上传的文件越大,cpu占用的越多。
这个问题困扰我好久了,怎么能让它立刻停下来呢?
请前辈帮小弟我看看,要怎么改进下呢?

[code="html"]




<br> function send() {<br> var uploadForm = document.getElementById(&quot;uploadForm&quot;);<br> uploadForm.submit();<br> return false;<br> }</p> <pre><code> function onFailure(errMsg) { alert(errMsg); } </code></pre> <p>

[/code]

[code="java"]
//ContentLengthFilter 过滤 AcceptServlet
public class ContentLengthFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {

}

public void doFilter(ServletRequest request, ServletResponse response,
                     FilterChain chain) throws IOException, ServletException {
    HttpServletRequest req = (HttpServletRequest) request;
    HttpServletResponse resp = (HttpServletResponse) response;

    PrintWriter out = null;
    try {
        int length = req.getContentLength();
        //限制上传大小 7MB
        if (length <= 0 || length > (7 * 1024 * 1024)) {
            out = resp.getWriter();
            String errMsg = "err!!";
            out.println("<script>" + "parent.onFailure('" + errMsg + "');" + "</script>");
        } else {
            chain.doFilter(req, resp);
        }
    } finally {
        if (out != null) {
            out.flush();
            out.close();
            out = null;
        }
    }

}

public void destroy() {
}

}

[/code]

[code="java"]
//AcceptServlet 负责上传
public class AcceptServlet extends HttpServlet {
}
[/code]

  • 写回答

1条回答 默认 最新

  • wanghaolovezlq 2010-01-12 20:52
    关注

    建议你用common-upload上传组件来处理上传的文件

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 yolov8边框坐标
  • ¥15 matlab中使用gurobi时报错
  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真