Link to home
Start Free TrialLog in
Avatar of dcrowley_01
dcrowley_01Flag for United States of America

asked on

Adobe Reader Error: The File is damaged and could not be repaired...

We need to open PDF files without showing the URL or downloading the file to the 'downloads' directory.

So we found this but of code to help us do this:
http://stackoverflow.com/questions/657591/delete-dynamically-generated-pdf-file-immediately-after-it-has-been-displayed-to

Code to download file (downloadodcs.aspx):
==========================
    Response.Buffer = false;
    Response.BufferOutput = false;  
    Response.ContentType = "application/pdf";

    Stream outstream = Response.OutputStream;
    FileStream instream =
        new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);

    byte[] buffer = new byte[10000];
    int len;
    while ((len = instream.Read(buffer, 0, 10000)) > 0)
    {
        outstream.Write(buffer, 0, len);
    }
    outstream.Flush();
    instream.Close();

    // served the file -> now delete it
    File.Delete(path);
====================================

But once it opens one or two PDF's it display's this error in a pop-up box when trying to open another document:
The File is damaged and could not be repaired...

It seems to be filling up the input buffer. And we have tried changing the size of the buffer but it keeps filling up. What am I doing wrong?
ASKER CERTIFIED SOLUTION
Avatar of Aaron Jabamani
Aaron Jabamani
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial