我有一个网页,希望人们能够上传内容。(由于访问受限,只有少量人使用,所以我不太担心任何DOS类型的攻击。)
我正在使用fileUpload控件来实现这个功能:
protected void Button1_Click(object sender, EventArgs e)
{
if (fileUploader.HasFile)
try {
fileUploader.SaveAs(Server.MapPath("Uploads\\") + fileUploader.FileName);
errorMessage.Text = "File name: " +
fileUploader.PostedFile.FileName + "<br>" +
fileUploader.PostedFile.ContentLength + " kb<br>";
}
catch (Exception ex) {
errorMessage.Text = "ERROR: " + ex.Message.ToString();
}
else
{
errorMessage.Text = "You have not specified a file.";
}
}
文件大小可以达到50MB(我已更改web.config以允许此操作)。我的问题是,在上传大文件时,用户无法看到上传进度。
我想知道如何在页面上显示进度,以便用户可以看到正在发生的事情。不需要任何花哨的东西 - 只需要像下面这样的内容:
已上传字节数 / 总字节数
将会很好。我可以使用postedFile.ContentLength获取总字节数,但不知道如何获取已上传的字节数。
另外 - 在上传过程中,我能刷新屏幕吗?
谢谢,
Ben