У меня есть приложение, которое должно читать PDF файл из файловой системы, а затем записывать его пользователю. PDF файл составляет 183 КБ и, кажется, работает отлично. Когда я использую код внизу, браузер получает файл 224 КБ, и я получаю сообщение от Acrobat Reader о том, что файл поврежден и не может быть восстановлен.
Вот мой код (я также пытался использовать File.ReadAllBytes(), но я получаю то же самое):
using (FileStream fs = File.OpenRead(path))
{
int length = (int)fs.Length;
byte[] buffer;
using (BinaryReader br = new BinaryReader(fs))
{
buffer = br.ReadBytes(length);
}
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", String.Format("attachment;filename={0}", Path.GetFileName(path)));
Response.ContentType = "application/" + Path.GetExtension(path).Substring(1);
Response.BinaryWrite(buffer);
}