<form id="form1" target="UploadWindow" method="post" action="upload.aspx" enctype="multipart/form-data">
<div>
<div>
请选择文件<input id="upload" name="upload" type="file" />
<input id="UploadFile" type="submit" value="上传" />
</div>
</div>
<div class="probar" id="prossbar"><div id="bar" class="bar"></div></div>
</form>
<iframe name="UploadWindow" frameborder="0" scrolling="no" width="0" height="0">
</iframe>
//upload.aspx
HttpPostedFile postfile = Request.Files["upload"];
if (postfile != null && postfile.ContentLength != 0)
{
string path = Server.MapPath("");
string filename = Path.GetFileName(postfile.FileName);
int contentlength = postfile.ContentLength;
int uploadlength = 0;
int bufferSize = 1;
byte[] buffer = new byte[bufferSize];
using (FileStream fs = new FileStream(Path.Combine(path, filename), FileMode.Create))
{
while (uploadlength < contentlength)
{
int bytes = postfile.InputStream.Read(buffer, 0, bufferSize);
fs.Write(buffer, 0, bytes);
uploadlength += bytes;
int percente = (int)Math.Ceiling((double)uploadlength / (double)contentlength * 100);
Response.Write("<script>window.parent.document.getElementById('bar').innerHTML='" + percente + "'</script>");
Thread.Sleep(100);
}
}
Response.Write("<script>window.parent.alert('" + uploadlength + "')</script>");
}
else
Response.Write("<script>window.parent.alert('请选择文件!')</script>");
处理的方式不错