我有一个使用 Ajax 执行 onclick 事件的函数。它调用一个控制器,在其中将字节转换为 pdf 并在 iFrame 中返回 pdf 文件,但是当显示 PDF 时它是空的。我想知道会发生什么?
<div id="DisplayPDF"></div>
$(document).ready(function () {
$('input').on('click', function () {
$.ajax({
url: '/Home/GetPDF',
type: 'POST',
data: { id: '@Model.Id' }, //
success: function (response) {
$("#DisplayPDF").html(
$('<iframe>', {
src: this.href,
width: '600px',
height: "800px"
})
);
}
});
});
});
返回 PDF 文件的控制器
public async Task<ActionResult> GetPdf(Guid id)
{
var vm = new ViewModels.Home.AttachmentViewModel();
var result = vm.GetServiceAttachment(id));
//Function to get the file information from DB .
byte[] file;
foreach (var attachment in result)
{
file = attachment.File;
byte[] byteArray = file;
return new FileContentResult(byteArray, "application/pdf");
}
return null;
}
这就是我现在的结果