C# 实时进度条ASP.net
我正在AmazonS3上上传大型视频文件,上传时我必须显示进度条。 我使用javascript显示进度条,但它不是实时的,例如,如果我上传3 MB视频,它会显示100%的进度,然后上传视频。然而,在真实情况下,它会在显示进度条的同时上传视频 这适用于小视频,但当我上传超过8MB的视频时,它会显示进度,直到100%正确,而浏览器状态最左角显示50%的进度。 我就是这样做的C# 实时进度条ASP.net,c#,javascript,asp.net,C#,Javascript,Asp.net,我正在AmazonS3上上传大型视频文件,上传时我必须显示进度条。 我使用javascript显示进度条,但它不是实时的,例如,如果我上传3 MB视频,它会显示100%的进度,然后上传视频。然而,在真实情况下,它会在显示进度条的同时上传视频 这适用于小视频,但当我上传超过8MB的视频时,它会显示进度,直到100%正确,而浏览器状态最左角显示50%的进度。 我就是这样做的 var size = 2; var id = 0; function ProgressBar()
var size = 2;
var id = 0;
function ProgressBar() {
if (document.getElementById('<%=FileVideoUpload.ClientID %>').value != "") {
document.getElementById("divProgress").style.display = "block";
document.getElementById("divUpload").style.display = "block";
document.getElementById("fakebtn").style.display = "block";
document.getElementById('<%=btnupload.ClientID %>').style.display = "none";
id = setInterval("progress()", 250);
return true;
}
else {
alert("Select a file to upload");
return false;
}
}
function progress() {
size = size + 1;
if (size > 299) {
clearTimeout(id);
}
document.getElementById("divProgress").style.width = size + "pt";
document.getElementById("<%=lblPercentage.ClientID %>").firstChild.data = parseInt(size / 3) + "%";
document.getElementById("<%=FileVideoUpload.ClientID %>").disabled = true;
if (parseInt(size / 3) == 100) {
document.getElementById("updstatus").innerHTML = "Please Wait..";
}
}
<asp:FileUpload ID="FileVideoUpload" runat="server" /> <br />
<br />
<asp:Button ID="btnupload" runat="server" Text="Upload" OnClientClick="return ProgressBar()"
OnClick="btnupload_Click" />
<input type="button" value="Upload" id="fakebtn" style="display: none" />
<br />
<br />
<div id="divUpload" style="display: none">
<div style="width: 300pt; text-align: center;" id="updstatus">
Uploading...</div>
<div style="width: 300pt; height: 20px; border: solid 1pt gray">
<div id="divProgress" style="width: 1pt; height: 20px; background-color: Gray; display: none">
</div>
</div>
<div style="width: 300pt; text-align: center;">
<asp:Label ID="lblPercentage" runat="server" Text="Label"></asp:Label></div>
</div>
如何显示文件上传的实际进度?根据文件上传关注点,您不能真正进行ajax上传。但可能性很小 使用HTML5文件api: 使用第三方库监控进度条。
希望这能帮助你开始 你可能想看看 希望能对你有所帮助
System.Threading.Thread.Sleep(8000);