#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-файл в Notepadd , я вижу следующее:
Комментарии:
1. Почему в первой строке вашего скриншота notepad отображается «<?xml»? Это определенно НЕ то, как запускается PDF-файл, поэтому фактически это искаженный / поврежденный PDF-файл.
2. @Ryan Я нашел решение и опубликую его, как только уложусь в срок. Спасибо!