Javascript 使用html输入标记显示文件上载加载进度的最简单方法

Javascript 使用html输入标记显示文件上载加载进度的最简单方法,javascript,html,Javascript,Html,我想从jsp页面上传一个文件,我知道基本知识 <form name="someForm" id="someFormId" method="post" enctype="multipart/form-data"> <input type="file" name="somename" size="chars"> <input id="anyid" name="anyName" type="submit" value="UploadFile"

我想从jsp页面上传一个文件,我知道基本知识

    <form name="someForm" id="someFormId" method="post" enctype="multipart/form-data"> 
    <input type="file" name="somename" size="chars"> 
    <input id="anyid" name="anyName" type="submit" value="UploadFile" class="button" />

我想制作一个进度条,但我不知道这是否可能,我读到你可以用flash来做,但是仅仅为了这个目的,在项目中使用flash会很混乱。 是否有任何方法可以捕获负载的进度


谢谢你的阅读,不是这样的。基本上,JavaScript必须控制文件的发送,才能报告进度。如果你只是做一个post请求,你唯一的进度指标就是“加载”和“完成”

使用
FileReader
对象和
FormData
对象,可以让JavaScript发送文件并获得进度结果。但它在较旧的浏览器中不起作用,所以要小心


要了解更多信息,谷歌提供了一些标准的解决方案。

只有在浏览器支持几种方法之一的情况下,才能这样做。FileReader/FormData(如Frits所述),或通过Flash或其他浏览器插件。您还需要在服务器端执行post处理

我在许多需要这种功能的领域使用它。我使用的是jQueryUI脚本/css的稍加修改的版本。它工作得非常好,插件/脚本作者已经处理了客户端工作的繁重工作

注意:对于没有flash的直接html+javascript帖子,或者限制支持的浏览器,您最好显示动画flash(动画GIF在浏览器中停止动画),作为表单“onsubmit”操作的一部分