gpt4 book ai didi

c# - 带有 FileUpload 控件的进度指示器

转载 作者:行者123 更新时间:2023-11-30 13:29:14 24 4
gpt4 key购买 nike

我有一个网页,我希望人们能够将内容上传到该网页。 (只有少数人会使用它,因为它是访问受限的,所以我不太担心任何 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 获取总字节数,但不知道如何获取上传的字节数。

另外 - 我可以在上传时刷新屏幕吗?

干杯,

最佳答案

这个答案并不特定于 ASP...

文件上传通常是通过使用Content-type: multipart/form-data 发出HTTP POST 请求来完成的。这包括请求正文的一部分中的文件正文。

因此在给定的浏览器选项卡中,在给定时间只能加载一个页面。简短的回答是,除非您真的喜欢 iframe(一个用于状态,一个用于上传),否则您将无法显示状态。

但是,如果您使用 Flash,则可以。 http://www.uploadify.com/是一个很棒的小型前端插件(用于 jQuery),它允许用户选择多个文件,然后将它们全部上传,同时显示状态。我只是将它插入一个将上传限制为 64M 的站点。效果棒极了。

关于c# - 带有 FileUpload 控件的进度指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2020859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com