超过64MB的文件的文件下载失败

时间:2009-10-27 00:52:05

标签: asp.net iis-6 download

我有一个允许安全(ssl)文件上传和下载的网站。该站点在IIS 6.0的Window 2003服务器上运行; asp.net 2。

使用此代码时:

 protected void StartDownLoad(string filename)
    {
        Response.Clear();
        if(filename.EndsWith("zip"))
            Response.ContentType = "application/zip";
        else
            Response.ContentType = "application/msword";

        string path = "C:\\Inetpub\\sites\\testsite\\secureDocs\\" + filename;
        Response.WriteFile(path);
        string headDesc = "inline;filename=" + filename;

        Response.AddHeader("Content-Disposition", headDesc);
        Response.End();
    }

在我的测试中,62MB文件下载没有任何问题 - 65MB似乎开始下载然后立即停止。 http错误日志有四个条目,每个条目显示“Connection_Dropped”。如果我从文件夹中删除权限并通过https url直接访问该文件,我可以下载超过65MB的文件,因此它似乎不是一个IIS问题。是否存在限制响应写入的asp.net设置?这是一个IIS问题吗?有没有人遇到过这个?有解决方案吗

1 个答案:

答案 0 :(得分:2)

您可以尝试使用

Response.TransmitFile(path) 

而不是

Response.WriteFile(path)

TransmitFile()不会缓冲文件。

再见。