【问题标题】:Uploading a 500MB+ file through an ASP.NET web application通过 ASP.NET Web 应用程序上传 500MB 以上的文件
【发布时间】:2012-08-05 07:56:52
【问题描述】:

我的 Web 应用程序允许授权用户使用 ASP.NET WebForms FileUpload Web 控件上传视频,过去该控件的大小约为 100-200MB。我显然必须对web.config 进行一些更改,以便可以上传这种大小的文件。

但是,授权用户现在要上传 500MB 以上的视频文件

maxAllowedContentLength 现在已设置为 629145600 (600MB)。

但是,在上传视频时,页面会在一段时间后响应:

找不到页面

这只发生在大视频上,所以我知道这个问题与文件大小有关。

为什么会这样?而且,我真的应该将限制增加到 500MB+ 吗?有没有更好的方法将如此大的文件放到网络服务器上?

【问题讨论】:

  • 你使用的是标准的asp上传控件吗?我的第一个猜测是,无论您的限制如何,您的帖子都很大,并且会在某个时候将整个文件推入内存。请参阅stackoverflow.com/questions/1599409/…stackoverflow.com/questions/285120/… 获取一些建议。
  • @dash 感谢您的回复。没错,我正在使用带有FileUpload Web 控件的 ASP.NET WebForms。
  • 嗨,Curt,我们回答了你的问题吗?

标签: asp.net file-upload iis-7 asp.net-3.5 webforms


【解决方案1】:

查看 Jon Galloway 的这篇博文,它有点旧但仍然相关:
Large file uploads in ASP.NET

它可以回答您的以下问题:

  • 找不到页面
  • 设置正确的 maxAllowedContentLength

提供了有关您可以使用的各种控件的建议,包括免费和商业。
我用过闪光灯控制,效果很好。

替代解决方案
也为每个用户提供一个 FTP 区域上传。
它允许用户:

  • 轻松批量上传多个文件(在浏览器中更难)
  • 利用断开连接时恢复

然后您为用户提供一个 GUI 来使用这些文件。

【讨论】:

  • 嗨,是的,谢谢,您的链接非常有用。我已将 FileUpload Web 控件更改为使用第三方 Flash 应用程序,该应用程序现在正在处理上传,问题似乎已解决
【解决方案2】:

您是否考虑过使用 jQuery File Upload https://github.com/blueimp/jQuery-File-Upload/ 有适用于 .net 和 mvc 的版本(请参阅 git hub wiki)。它消除了在 .net 中实现大文件上传的所有心痛,并且还提供了一个可爱的界面。自从不久前发现这一点以来,我从未使用过其他任何东西!我现在已经成功实施了几次,并且看到上传 ~2GB 成功。

【讨论】:

    猜你喜欢
    • 2011-07-06
    • 2015-07-19
    • 1970-01-01
    • 2021-02-03
    • 2013-02-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2013-11-05
    相关资源
    最近更新 更多