dcrowley_01
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?
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.