Response.WriteFile 无法下载大文件(转)

来源:互联网 发布:华为 联系人 app 源码 编辑:程序博客网 时间:2024/04/28 07:52

转自:http://support.microsoft.com/kb/812406

 

要解决此问题,请使用以下任一方法:

  • 将数据分成较小的部分,然后将其移动到输出流以供下载,从而获取这些数据。以下代码演示了如何完成此操作。

    重要说明:当您在 ASP.NET 应用程序的 Web.config 文件中将编译元素的 debug 属性值设置为 false 时,必须针对要下载的文件大小将 Server.ScriptTimeout 属性设置为适当的值。默认情况下,Server.ScriptTimeout 值被设置为 90 秒。但是,当 debug 属性被设置为 true 时,Server.ScriptTimeout 值将被设置为一个非常大的值(30,000,000 秒)。作为一名开发人员,您必须知道这可能会对您的 ASP.NET Web 应用程序的行为造成的影响。

    此外,在下面的代码中,您还必须知道与 FileStream 构造函数一起使用的参数值。指定的枚举值会对提供的功能产生重大影响。有关更多信息,请参考 参考 一节中的 FileStream 链接。

Visual C# .NET 代码

 

DownloadFileName 替换为大于 100 MB 的文件的名称。

- 或 -

  • 为用户提供用于下载文件的链接。

    - 或 -
  • 使用 Microsoft ASP 3.0 进行下载或者与 ASP 一起使用 Software Artisans FileUp。

    - 或 -
  • 创建 ISAPI 扩展以下载文件。

    - 或 -
  • 使用 FTP 下载文件。
  • 原创粉丝点击