【发布时间】:2013-03-09 00:31:57
【问题描述】:
我正在尝试在我的 JSP 文件中插入一个进度条(它不需要显示下载了多少文件,它只需要显示页面正在等待加载)同时加载了一个文件。我已经看到这个网站要创建和 .git 这将是我的进度条。
我正在使用这个从 Spring 服务器检索图像:
<img class="ImgMapa" alt="${andar.caminhoImagem}" src="UploadServlet?getfile=${andar.nomeImagem}" />
当我点击一个链接时,这张图片是从服务器检索到的。
<a href="#${andar.numero}" class="btn btn-primary" data-toggle="tab">${andar.numero}º Andar</a>
我如何知道图像何时通过 jQuery 完全下载?这样我可以显示进度条 GIF,然后在加载图像时隐藏它。
有没有更好的方法呢?如果没有,我如何使用这个想法在下载图像时显示 GIF?
编辑:
这是我获取图像的方法:
@RequestMapping("UploadServlet")
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
if (request.getParameter("getfile") != null
&& !request.getParameter("getfile").isEmpty()) {
File file = new File(request.getServletContext().getRealPath("/")
+ "resources/imgs/" + request.getParameter("getfile"));
if (file.exists()) {
int bytes = 0;
ServletOutputStream op = response.getOutputStream();
response.setContentType(getMimeType(file));
response.setContentLength((int) file.length());
response.setHeader("Content-Disposition", "inline; filename=\""
+ file.getName() + "\"");
byte[] bbuf = new byte[1024];
DataInputStream in = new DataInputStream(new FileInputStream(
file));
while ((in != null) && ((bytes = in.read(bbuf)) != -1)) {
op.write(bbuf, 0, bytes);
}
in.close();
op.flush();
op.close();
}
}
【问题讨论】:
-
你能详细解释一下那个下载过程吗?它实际上是如何工作的,以便提供适当的 jQuery 模型作为解决方案。
-
当然,我已经用下载的方法编辑了我的问题
-
因此您在文档中有 img 节点,当您单击链接时,它会设置其来源。对吗?
-
没错,当我点击链接时,它会为我显示图像.. 它工作正常,但是当我有大图像时,下载时间太长.. 所以我想把这个进度酒吧
标签: jquery ajax spring jsp progress-bar