Google Chrome - Issues with download dialogs using BinaryWrite
        Posted  
        
            by Mila
        on Super User
        
        See other posts from Super User
        
            or by Mila
        
        
        
        Published on 2010-06-03T11:03:09Z
        Indexed on 
            2010/06/03
            11:05 UTC
        
        
        Read the original article
        Hit count: 627
        
Hello, I have an empty ASP .NET page with the code behind to support downloading of PDF files. The page is called from a link-like web control that has NavigateUrl set to this page. In short, I am using the following for streaming:
Response.Buffer = false; Response.ClearHeaders(); Response.ContentType = "application/x-pdf"; Response.AddHeader("Content-Disposition","attachment; filename="MyPDFFile.pdf"); byte[] binary = (dataReaderRemote[DataPDFFieldName]) as byte[]; //dataReaderRemote[DataPDFFieldName] has previously retrieved data if (binary != null) { MemoryStream memoryStream = new MemoryStream(binary); int sizeToWrite = CHUNKSIZE; //CHUNKSIZE=1024
    for (int i = 0; i < binary.GetUpperBound(0) - 1; i = i + CHUNKSIZE)
    {
         if (!Response.IsClientConnected) return;
         if (i + CHUNKSIZE >= binary.Length)
         sizeToWrite = binary.Length - i;
         byte[] chunk = new byte[sizeToWrite];
         memoryStream.Read(chunk, 0, sizeToWrite);
         Response.BinaryWrite(chunk);
         Response.Flush();
     }
} Response.Close();
IE as well as Firefox bring the download prompt window asking you whether you wish to open or save the file, while the user remains on the same page containing the link. However, Google Chrome opens a new blank tab and downloads the file automatically. Is there any way to prevent Chrome from opening the extra blank and therefore useless tab?
I am using the Google Chrome version 5.0.375.55 (Official Build 47796) on Windows XP.
Thanks in advance! Mila
© Super User or respective owner