<tfoot id='mN6qz'></tfoot>
    1. <legend id='mN6qz'><style id='mN6qz'><dir id='mN6qz'><q id='mN6qz'></q></dir></style></legend>
    2. <i id='mN6qz'><tr id='mN6qz'><dt id='mN6qz'><q id='mN6qz'><span id='mN6qz'><b id='mN6qz'><form id='mN6qz'><ins id='mN6qz'></ins><ul id='mN6qz'></ul><sub id='mN6qz'></sub></form><legend id='mN6qz'></legend><bdo id='mN6qz'><pre id='mN6qz'><center id='mN6qz'></center></pre></bdo></b><th id='mN6qz'></th></span></q></dt></tr></i><div id='mN6qz'><tfoot id='mN6qz'></tfoot><dl id='mN6qz'><fieldset id='mN6qz'></fieldset></dl></div>

    3. <small id='mN6qz'></small><noframes id='mN6qz'>

        <bdo id='mN6qz'></bdo><ul id='mN6qz'></ul>

        使用struts2和Ajax下载文件时如何放置进度条

        时间:2023-09-24
            <tbody id='VTIAq'></tbody>

            <bdo id='VTIAq'></bdo><ul id='VTIAq'></ul>

            <small id='VTIAq'></small><noframes id='VTIAq'>

              <legend id='VTIAq'><style id='VTIAq'><dir id='VTIAq'><q id='VTIAq'></q></dir></style></legend>

            1. <tfoot id='VTIAq'></tfoot>
            2. <i id='VTIAq'><tr id='VTIAq'><dt id='VTIAq'><q id='VTIAq'><span id='VTIAq'><b id='VTIAq'><form id='VTIAq'><ins id='VTIAq'></ins><ul id='VTIAq'></ul><sub id='VTIAq'></sub></form><legend id='VTIAq'></legend><bdo id='VTIAq'><pre id='VTIAq'><center id='VTIAq'></center></pre></bdo></b><th id='VTIAq'></th></span></q></dt></tr></i><div id='VTIAq'><tfoot id='VTIAq'></tfoot><dl id='VTIAq'><fieldset id='VTIAq'></fieldset></dl></div>
                  本文介绍了使用struts2和Ajax下载文件时如何放置进度条的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我无法放置进度条,因为它直接重定向页面并下载文件.

                  解决方案

                  这么多问题(大部分是隐含的)一个问题!

                  <块引用>

                  使用struts2和Ajax下载文件时如何放置进度条

                  1. 如果不需要,不要使用 AJAX 下载.当您在浏览器中打开文件 (contentDisposition: inline) 时,只需使用新的 Tab(/Window).当您下载文件(contentDisposition: attachment)时,当前页面不会受到影响.您可以在 结果:

                    <result name="success" type="stream"><param name="contentType">image/jpeg</param><param name="contentDisposition">附件;filename="document.pdf"</param><param name="contentLength">${lengthOfMyFile}</param></结果>

                    private long lengthOfMyFile;//使用 Getter公共字符串执行(){/* 文件加载和其他东西 ... */lengthOfMyFile = myFile.length();返回成功;}

                  <块引用>

                  假设文件太重.所以这需要时间,所以我想防止用户不点击其他按钮

                  1. 如果您想节省带宽,那么您需要进行 Web 服务器 配置.这篇文章可能会有所帮助:

                    • 限制数量每个客户端的下载量

                    如果您不关心防止泛滥的请求,而只是防止客户端的多个并发下载,您可以使用会话变量,放在开头并在结尾删除方法,在下载操作开始时检查它是否存在.如果它存在,您将不会下载,否则,您将:

                    //Action 必须实现 SessionAware 接口私有地图<字符串,对象>会议;//使用 Setterprivate final static String BUSY = "我很忙.再试一次";公共字符串执行(){if (session.get(BUSY)!=null){LOG.debug("另一个下载正在进行中.我停在这里");返回无;}尝试 {session.put(忙,忙);/* 文件加载和其他东西 ... *
                  <i id='Pls0r'><tr id='Pls0r'><dt id='Pls0r'><q id='Pls0r'><span id='Pls0r'><b id='Pls0r'><form id='Pls0r'><ins id='Pls0r'></ins><ul id='Pls0r'></ul><sub id='Pls0r'></sub></form><legend id='Pls0r'></legend><bdo id='Pls0r'><pre id='Pls0r'><center id='Pls0r'></center></pre></bdo></b><th id='Pls0r'></th></span></q></dt></tr></i><div id='Pls0r'><tfoot id='Pls0r'></tfoot><dl id='Pls0r'><fieldset id='Pls0r'></fieldset></dl></div>

                  <tfoot id='Pls0r'></tfoot>
                      <bdo id='Pls0r'></bdo><ul id='Pls0r'></ul>

                        <small id='Pls0r'></small><noframes id='Pls0r'>

                        • <legend id='Pls0r'><style id='Pls0r'><dir id='Pls0r'><q id='Pls0r'></q></dir></style></legend>
                            <tbody id='Pls0r'></tbody>