PDF неправильно декодирован… Я открываю PDF из вызова API OK, но не могу открыть после сохранения (ПО сравнению с 2015 годом — C#.NET Структура 4.8)

#c# #asp.net-web-api #pdf-generation #.net-framework-4.8

#c# #asp.net-веб-api #pdf-генерация #.net-4.8

Вопрос:

Я могу открыть PDF (который открывается на новой вкладке браузера в моем веб-приложении MVC .NET Framwork 4.8 C #), используя следующий код, и раньше это работало, но компания использует новый API, и мне пришлось изменить его, чтобы заставить его работать, и он открывается, нокогда я сохраняю его, я не могу открыть PDF из сохраненной копии.

Я могу сохранять и открывать из старого API — вот как я это делаю.:

 using (WebClient wc = new WebClient())
{
    WebClient client = new WebClient();
    Byte[] buffer = client.DownloadData(api.URI);
    if (buffer != null)
    {
        Response.ContentType = "application/pdf";
        Response.AddHeader("content-length", buffer.Length.ToString());
        Response.BinaryWrite(buffer);
    }
}
 

Вот изменения, которые я должен был сделать, чтобы заставить его открыться на новой вкладке с новым API:

 using (WebClient wc = new WebClient())
{
    wc.Headers.Add("Content-Type", "application/xml");
    wc.Encoding = System.Text.Encoding.UTF8;
    Byte[] buffer = wc.UploadData(URI, "POST", System.Text.Encoding.UTF8.GetBytes(QS1)); 
               
    if (buffer != null)
    {
        Response.ContentType = "application/pdf";
        Response.AddHeader("content-length", buffer.Length.ToString());
        Response.BinaryWrite(buffer);
    }
}
 

PDF открывается правильно и выглядит нормально, но когда я сохраняю его, я не могу снова открыть его. При попытке открыть сохраненный PDF-файл я получаю следующую ошибку:

Ошибка при попытке открыть PDF-файл

Когда я открываю сохраненный PDF-файл в Notepadd , я вижу следующее:

введите описание изображения здесь

Комментарии:

1. Почему в первой строке вашего скриншота notepad отображается «<?xml»? Это определенно НЕ то, как запускается PDF-файл, поэтому фактически это искаженный / поврежденный PDF-файл.

2. @Ryan Я нашел решение и опубликую его, как только уложусь в срок. Спасибо!