⑴ JSP 上传文件进度条怎么做
HTTP本身无法实现上传
进度条
,因为无法使用JS访问文件系统,并对
文件流
进行分回块。
可以考虑2种方式实现上答传进度条:
1.flash:flash可以访问文件系统,并以二进制方式上传文件,这可以将文件进行分块;
2.使用
ActiveX控件
:这个比较复杂一点,能够监控到每一个字节的进度,可以自己开发或使用第三方库。一般来说,对于前台类型的页面,出于安全和可用性不建议使用ActiveX控件,
⑵ 用jquery如何实现提交表单点击提交之后显示正在上传中,之后显示上传成功的效果
需要准备的材料分别有:电脑、html编辑器、浏览器。
1、首先,打开html编辑器,新建html文件,回例如答:index.html,并引入jquery。

⑶ django文件上传的时候怎么能加一个上传进度的显示
首先需要一个表单来让用户选择要上传的文件。
1	<form id="form_upload" action="/upload" method="POST">
2	  <input type="file" name="picture" id="picture" />
3	  <input type="hidden" id="X-Progress-ID" name="X-Progress-ID" value=""/>
4	  <input type="hidden" id="id" name="id" value=""/>
5	  <input id="form_submit_button" class="tp-button" type="submit" value="Submit" />
6	  </form>
这里增加了两个隐藏的输入框,第一个是 ‘X-Progress-ID’,代表上传 ID,这样我们才能够在服务器端支持并发的上传请求。稍后我们会看到,服务器是如何处理这个值的。
然后还有一个隐藏输入框 ‘id’,在我们的例子里代表菜品的编号。
我们将使用 Ajax 来发送 POST 请求,这样表单便可以很好地集成在现代的网络界面中,同时包含一个进度条。我们打算使用 jQuery Form plugin 来实现这一点。
函数 ajaxSubmit() 将会帮我们搞定一切。
为上传 ID 生成一个随机字串,并用它设置输入框的值。
需要指定一个用于上传请求的 URL 和两个回调函数:一个在请求前调用,另一个在请求完成后调用。
1	$('#X-Progress-ID').val('random string');
2	var options = {
3	  dataType: 'xml',
4	  url: '/upload?X-Progress-ID='+$('#X-Progress-ID').val(),
5	  beforeSubmit: showRequest,
6	  success: showResponse
7	}
8	$('#form_upload').ajaxSubmit(options);
showRequest 回调函数只需要像下面这么简单就行了:
1	function showRequest(formData, jqForm, options) {
2	    // do something with formData
3	    return True;
4	}
在 showResponse 函数中,我们需要处理响应,并对它进行操作。在我的例子里,我处理了服务器返回的带有状态值的 xml。
1	function showResponse(response) {
2	    // do something with response
3	}
用户按下提交的时候,我们希望显示一个进度条,因此可以使用下面的 JS 代码,向表单添加进度条。progressBar() 方法是 jQuery progress bar plugin 的一部分。
1	$('#form_upload').find('#form_submit_input').append('<span id="uploadprogressbar"></span<');
2	$('#form_upload').find('#uploadprogressbar').progressBar();
现在我们需要添加一个每隔几秒运行一次的函数,来从服务器获取上传进度,并相应地更新进度条。
为此,我们使用 setInterval() 向服务器发出一个 GET 请求,获取 JSON 格式的进度值。我们向服务器传送上传 ID。当返回 null 值的时候,就可以知道上传已经结束。
01	function startProgressBarUpdate(upload_id) {
02	  $("#uploadprogressbar").fadeIn();
03	  if(g_progress_intv != 0)
04	    clearInterval(g_progress_intv);
05	  g_progress_intv = setInterval(function() {
06	    $.getJSON("/get_upload_progress?X-Progress-ID="
07	+ upload_id, function(data) {
08	      if (data == null) {
09	        $("#uploadprogressbar").progressBar(100);
10	        clearInterval(g_progress_intv);
11	        g_progress_intv = 0;
12	        return;
13	      }
14	      var percentage = Math.floor(100 * parseInt(data.uploaded) / parseInt(data.length));
15	      $("#uploadprogressbar").progressBar(percentage);
16	    });
⑷ asp 如何实现带进度条的上传文件功能
以下就以abcupload4为例来说明怎么来制作实时的文件上传进度条。 
(注:我们在abcupload自带例子基础上改进。) 
progressupload.htm(上传文件的前台提交,我们让进度条在这个里面显示) 
<HTML> 
<body> 
<script language="javascript"> 
<!-- 
theUniqueID = (new Date()).getTime() % 1000000000; 
function s() //让数据提交的同时执行显示进度条的函数 
{ 
bar(); //开始执行反映上传情况的函数 
document.myform.action = "progressupload.ASP?ID=" theUniqueID; //处理上传数据的程序 
document.myform.target="up" //将提交的数据放在一个名字是up隐藏的iframe里面处理,这样提交的页面就不会跳转到处理数据的页 
document.myform.submit(); //提交表单 
} 
function bar() 
{ 
bar1.style.display=''; //让显示上传进度显示的层的可见 
var timeoutid=null; //这个变量是作定时器的ID 
var oXMLDoc = new ActiveXObject('MSXML'); //创建'MSXML'对象 
sURL = "progressbar.ASP?ID=" theUniqueID "&temp=" Math.random(); //获取上传状态数据的地址 
oXMLDoc.url = sURL; //load数据 
var oRoot=oXMLDoc.root; //获取返回XML数据的根节点 
if(oRoot.children != null) 
{ 
if (oRoot.children.item(0).text-100==0) //文件上传结束就取消定时器 
clearTimeout(timeoutid) 
PercentDone.style.width=oRoot.children.item(0).text "%"; //设置进度条的百分比例 
//根据返回的数据在客户端显示 
min.innerHTML=oRoot.children.item(1).text; //显示剩余时间(分钟) 
secs.innerHTML=oRoot.children.item(2).text; //显示剩余时间(秒钟) 
BytesDone.innerHTML=oRoot.children.item(3).text; //已上传数据大小 
BytesTotal.innerHTML=oRoot.children.item(4).text; //总大小 
BytesPerSecond.innerHTML=oRoot.children.item(5).text; //传输速率 
Information.innerHTML=oRoot.children.item(6).text; //上传信息 
} 
if (oRoot.children.item(0).text-100<0) //只要文件没有传完,就每隔多少时间获取一次数据 
timeoutid = setTimeout("bar()",50) //这里设定时间间隔是0.05秒,你也可以根据你的情况修改获取数据时间间隔 
} 
//--> 
</script> 
<form name="myform" method="post" action="progressupload.ASP" enctype="multipart/form-data" target=up> 
<input type="file" name="filefield1"><br> 
<input type="button" name="dosubmit" value="Upload" onclick="s()"><br> 
<div id=bar1 style="display:none"> 
<table border="0" width="100%"> 
<tr> 
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>传送:</b></font></td> 
</tr> 
<tr bgcolor="#999999"> 
<td> 
<table border="0" width="" cellspacing="1" bgcolor="#0033FF" id=PercentDone> 
<tr> 
<td><font size=1></font></td> 
</tr> 
</table> 
</td> 
</tr> 
<tr> 
<td> 
<table border="0" width="100%"> 
<tr> 
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">剩余时间:</font></td> 
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> 
<span id=min></span> 分 
<span id=secs></span> 秒 
(<span id=BytesDone></span> KB of 
<span id=BytesTotal></span> KB 已上传)</font></td> 
</tr> 
<tr> 
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> 
传送速度:</font></td> 
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1"> 
<span id=BytesPerSecond></span> KB/秒</font></td> 
</tr> 
<tr> 
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">信息:</font></td> 
<td><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><span id=Information></span></font></td> 
</tr> 
</table> 
</td> 
</tr> 
<tr></tr> 
</table> 
</div> 
<iframe name="up" style="display:none"></iframe> 
</form> 
</body> 
</HTML> 
progressbar.ASP(返回上传状况数据的文件) 
<%@EnableSessionState=False%> 
<% 
On Error Resume Next 
Set theProgress = Server.CreateObject("ABCUpload4.XProgress") '创建上传组件对象 
theProgress.ID = Request.QueryString("ID") 
'将返回数据以XML格式输出 
%> 
<?XML version="1.0" encoding="gb2312" ?> 
<plan> 
<PercentDone><%=theProgress.PercentDone%></PercentDone> 
<min><%=Int(theProgress.SecondsLeft/60)%></min> 
<secs><%=theProgress.SecondsLeft Mod 60%></secs> 
<BytesDone><%=Round(theProgress.BytesDone / 1024, 1)%></BytesDone> 
<BytesTotal><%=Round(theProgress.BytesTotal / 1024, 1)%></BytesTotal> 
<BytesPerSecond><%=Round(theProgress.BytesPerSecond/1024, 1)%></BytesPerSecond> 
<Information><%=theProgress.Note%></Information> 
</plan> 
progressupload.ASP(处理上传文件) 
<%@EnableSessionState=False%> 
<% 
Response.Expires = -10000 
Server.ScriptTimeOut = 300 
Set theForm = Server.CreateObject("ABCUpload4.XForm") 
theForm.Overwrite = True 
theForm.MaxUploadSize = 8000000 
theForm.ID = Request.QueryString("ID") 
Set theField = theForm("filefield1")(1) 
If theField.FileExists Then 
theField.Save theField.FileName 
End If 
%> 
<HTML> 
<body> 
传送结束 
</body> 
</HTML>
⑸ JS实现点击提交表单后,出现一个进度条
简单的话,用JS模拟一个,用setTimeOut方法
<form name=loading>
<P align=center> </P>
<P align=center> aaaaaaaaaaaaaaaaaaaaaa</P>
<P align=center> </P>
<P align=center><FONT face=Arial color=#0066ff size=2>已经完成:</FONT>    
<INPUT style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bolder; PADDING-BOTTOM: 0px; COLOR: #0066ff; BORDER-TOP-style: none; PADDING-TOP: 0px; FONT-FAMILY: Arial; BORDER-RIGHT-style: none; BORDER-LEFT-style: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-style: none" size=46 name=chart> 
    <BR>
    <INPUT 
style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; COLOR: #0066ff; BORDER-BOTTOM: medium none; TEXT-ALIGN: center" 
size=47 name=percent>
    <script> 
var bar=0 
var line="||" 
var amount="||" 
count() 
function count(){ 
bar=bar+2 
amount =amount + line 
document.loading.chart.value=amount 
document.loading.percent.value=bar+"%" 
if (bar<99) 
{setTimeout("count()",100);} 
else 
{window.location = "http://www..com";} 
}</SCRIPT>
</P>
</form> 
复杂的话,你还要考虑处理数据的时间问题
⑹ html5怎么用原生JS上传表单(多个)的进度条
提供思路:(暂无电脑)
进度条用两个嵌套组成:内外div,内用来显示进度条进度,外用来包含整个进度条。进度条百分比利用:offsetleft,width等来设计