Проблемы с загрузкой подписанных файлов PDF C#

У меня есть подписанный PDF с подписью Adobe. Моя проблема начинается, когда я хочу загрузить этот документ.

Через веб-метод я получаю байты подписанного файла. Пока здесь нет проблем.

Если я пытаюсь сохранить файл на моем сервере, то при открытии файла все в порядке. Но если я пытаюсь скачать его, когда открываю, подпись неверна.

Это ошибка в Adobe Reader:

"Объем подписанных данных определяется диапазоном непредвиденных байтов. Детали: недопустимый диапазон байтов подписи"

Вот как я загружаю файл:

HttpContext.Current.Response.ContentType = "application/pdf";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename= Factura.pdf");
HttpContext.Current.Response.AddHeader("Content-Length", newStream.Length.ToString());
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.BufferOutput = true;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.OutputStream.Write(newStream.GetBuffer(), 0, newStream.GetBuffer().Length);
HttpContext.Current.Response.OutputStream.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();

Кто-нибудь может мне помочь с этой проблемой?

1 ответ

Решение

Вы отправляете больше байтов, чем указано в заголовке. Делать newStream.ToArray() и использовать только байтовый массив. Другая вещь, чтобы проверить, если у вас действительно есть все байты в newStream, сохранить его в файл для проверки (из ToArray(),

Другие вопросы по тегам