0

我的另一个问题。这不会是一件容易的事!

我在处理简单上传时遇到问题。测试的前置要求: - 无 Flash(劫持) - 基本上传字段使用 + 要发布的表单 - 最大文件大小为 20MB(web.config maxrequestlength) - 我正在使用内置的 IIS 开发工具以可视方式运行网站工作室(我认为) - 我正在使用 MVC Web 项目

问题:当文件大于 20MB 时,是否可以向用户显示一个很好的错误消息?(没有先将整个文件发送到服务器)

这些链接对我帮助最大:

http://www.telerik.com/community/forums/aspnet/upload/maximum-request-length-exceeded.aspx

ASP.NET MVC:处理超过 maxRequestLength 的上传

http://forums.whirlpool.net.au/archive/809909

http://forums.asp.net/t/1106579.aspx/1

捕获“超出最大请求长度”

但我仍然无法解决这个问题。Atm 我使用最后一个链接的接受答案的代码(捕获“超出最大请求长度”),但是当我运行下面的代码行时我的代码崩溃:

this.Server.Transfer("~/error/UploadTooLarge.aspx");

错误消息:执行 ~/error/UploadTooLarge.aspx 的子请求时出错。

我想我收到这条消息是因为我正在使用 VS.NET 的内置 Web 服务器(请参阅:http ://forums.asp.net/t/1106579.aspx/1该页面的最后一篇文章)。

我很害怕我让整个问题有点难以阅读。简而言之:当我上传的文件太大(使用 S.NET 的内置 Web 服务器)时,如何显示简洁的错误消息?

4

1 回答 1

0

如果您不想先将整个文件发送到服务器,那么您唯一的选择就是 javascript。FileReader 对象将为您解决这个 问题https://developer.mozilla.org/en-US/docs/DOM/FileReader 问题是它不适用于旧版浏览器。现在,如果较旧的浏览器对您来说不是问题,那么您应该找到大量教程,向您展示如何使用 FileReader 对象。有了它,您可以进行异步上传,因此考虑到文件相当大,您甚至可以添加一个不错的进度条。

于 2012-09-27T10:09:41.497 回答