Я конвертирую проект ASP.NET в MVC и функциональность, которая сохраняет файл PDF, который работает в ASP.NET, создает поврежденный файл в MVC.Я вызываю один и тот же метод бизнес-уровня в обоих проектах.Метод использует библиотеку Syncfusion PDF.Строка HTML, отправляемая в код Syncfusion, одинакова в обоих проектах.Поток, который возвращается из кода Syncfusion, на один байт больше в проекте MVC, а байтовый массив, который возвращается из метода, на 106 байтов больше в проекте MVC.Я не работал с MVC до того, как понял, почему это так.Код в обоих случаях довольно прост:
ASP.NET
byte[] result = QuestionnaireManager.GetPDFofQuestionnaire(this.Questionnaire.ID, true);
Response.Clear();
MemoryStream ms = new MemoryStream(result);
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Questionnaire.pdf");
Response.Buffer = true;
ms.WriteTo(Response.OutputStream);
Response.End();
MVC
byte[] data = QuestionnaireManager.GetPDFofQuestionnaire(questionnaireID, true);
Response.AddHeader("content-disposition", "attachment;filename=Questionnaire.pdf");
return File(data, "application/pdf");
Любые идеи приветствуются.