如何在ASP.NET上上传10GB文件

3

我已经开发了一个基于asp.net的应用程序,现在想将视频和音频文件保存到sql server。但是我遇到了一个问题,就是上传大文件时会出现服务器错误。我的应用程序托管在ISS7上,我在web.config文件中使用了以下代码:

<httpRuntime executionTimeout="3600" maxRequestLength="102400"/>

并且。
  <system.webServer>
    <security>
      <requestFiltering>        
        <requestLimits maxAllowedContentLength="1024000000"/>
      </requestFiltering>
    </security>
  </system.webServer>

但是我在上传时间遇到了以下图片中的错误:

enter image description here

请帮助我解决如何使用ISS7上传10GB文件。我将10GB文件保存为varbinary(MAX),并将10GB转换为字节。


varbinary(MAX) 不是限制在2Gb吗? - Rubens Farias
2个回答

3

使用ASP.NET的开箱即用功能,您将无法上传如此大的文件,因为IIS要么超时,要么您将超过大小限制(即IIS的maxRequestLength设置)。

您有几个选择:

  1. 自定义HTTP模块

    NeatUpload是一个免费的选项。

  2. Silverlight/Flash选项

    SWFUpload是一个免费的选项。

  3. 异步分块选项

    RadAsyncUpload - Telerik的ASP.NET AsyncUpload是一个付费的选项,请查看网站获取定价。


@Vikram - 好的,你需要一种机制将其传递到服务器,一旦在那里,你可以将其保存到文件系统、数据库、网络共享或其他位置。内置的ASP.NET IIS文件上传限制将会阻止你上传尽可能大的文件,这就是为什么我推荐上面的解决方案的原因。你还抱有它只能通过IIS设置来实现的希望吗? - Karl Anderson

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接