У меня есть следующий код в моем cshtml:
<span id = "/C/documents/demo.pdf" class="viewDoc">Demo.pdf</span>
При нажатии на название документа, оно попадает в функцию viewDoc, ниже:
function viewDoc(docPath){
$.ajax({
url: "/ViewDoc/LoadPDF",
dataType: "text",
type: "POST",
data: docPath,
success: function (data, textStatus, jqXHR) {
$("#divViewer").ejPdfViewer({
serviceUrl: “https://js.syncfusion.com/ejServices/api/PdfViewer”,
documentLoad: "load"
});
var divViewer= $("#divViewer").data("ejPdfViewer");
obj.load(data["data"]);
},
});
}
Мое действие LoadPDF в контроллере выглядит следующим образом:
public Json LoadPDF (string docPath){
PdfLoadedDocument loadedDocument = new PdfLoadedDocument(docPath);
MemoryStream memoryStream = new MemoryStream();
loadedDocument .Save(memoryStream);
var bytes = memoryStream.ToArray();
return JSON {new (Convert.ToBase64String(bytes))};
}
Тем не менее, когда документ загружается в средство просмотра PDF Syncfusion, он отображает пустой PDF.
Когда я конвертирую Microsoft Word в PDF с помощью Syncfusion, затем преобразую его в строку base64 и отправляю строку в средство просмотра PDF, загрузка идет нормально.
Что-то не так я здесь делаю? ИЛИ в любом случае, чтобы загрузить PDF в программу просмотра PDF, не конвертируя ее в строку base64?
Спасибо за любую помощь