Show loading image when pdf rendering
        Posted  
        
            by Pankaj
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Pankaj
        
        
        
        Published on 2010-06-18T04:13:17Z
        Indexed on 
            2010/06/18
            4:23 UTC
        
        
        Read the original article
        Hit count: 399
        
I am displaying pdf on my page like this
<object data="/Customer/GetPricedMaterialPDF?projID=<%= ViewData["ProjectID"]%>"
    type="application/pdf" width="960" height="900" style="margin-top: -33px;">
    <p>
        It appears you don't have a PDF plugin for this browser. No biggie... you can <a
            href="/Customer/GetPricedMaterialPDF?projID=<%= ViewData["ProjectID"]%>">click
            here to download the PDF file. </a>
    </p>
</object>
and Controller function are
 public FileStreamResult GetPricedMaterialPDF(string projID)
        {
            System.IO.Stream fileStream = GeneratePDF(projID);
            HttpContext.Response.AddHeader("content-disposition",
               "attachment; filename=form.pdf");
            return new FileStreamResult(fileStream, "application/pdf");
        }
private System.IO.Stream GeneratePDF(string projID)
        {
            //create your pdf and put it into the stream... pdf variable below
            //comes from a class I use to write content to PDF files
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            Project proj = GetProject(projID);
            List<File> ff = proj.GetFiles(Project_Thin.Folders.IntegrationFiles, true);
            string fileName = string.Empty;
            if (ff != null && ff.Count > 0 && ff.Where(p => p.AccessToUserID == CurrentCustomer.CustomerID).Count() > 0)
            {
                ff = ff.Where(p => p.AccessToUserID == CurrentCustomer.CustomerID).ToList();
                foreach (var item in ff)
                {
                    fileName = item.FileName;
                }
                byte[] bArr = new byte[] { };
                bArr = GetJDLFile(fileName);
                ms.Write(bArr, 0, bArr.Length);
                ms.Position = 0;
            }
            return ms;
        }
Now my problem is function on controller taking 10 to 20 second to process pdf,
data="/Customer/GetPricedMaterialPDF?projID=<%= ViewData["ProjectID"]%>"
at that time my page shows blank, which i don't want. i want to show loading image at that time. How can i do this...
© Stack Overflow or respective owner