开发者

File download fails for files over 64MB

开发者 https://www.devze.com 2022-12-10 00:38 出处:网络
I have a website which allows secure (ssl) file uploads and download. The site runs on a Window 2003 server with IIS 6.0; asp.net 2.

I have a website which allows secure (ssl) file uploads and download. The site runs on a Window 2003 server with IIS 6.0; asp.net 2.

When using this code:

 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();
    }

In my tests a 62MB file downloads without any problem -- a 65MB appear to start the download and then immediately stop. The http error logs have four entries each showing "Connection_Dropped". If I remove permissions from the folder and directly access the file through an ht开发者_C百科tps url I am able to download files that exceed 65MB so it doesn't seem like it's an IIS issue. Is there an asp.net setting that restricts the response write? Is it an IIS issue? Has anyone run into this before? Any solutions?


You can try using

Response.TransmitFile(path) 

instead of

Response.WriteFile(path)

TransmitFile() doesn't buffer the file.

Bye.

0

精彩评论

暂无评论...
验证码 换一张
取 消