Asp.net mvc 在MVC中将PDF(存储为BLOB)显示为图像

Asp.net mvc 在MVC中将PDF(存储为BLOB)显示为图像,asp.net-mvc,pdf,partial-views,actionresult,filecontentresult,Asp.net Mvc,Pdf,Partial Views,Actionresult,Filecontentresult,我必须在局部视图中显示PDF(存储为SQL Server表中的BLOB)。我正在对表中存储为BLOB的“.jpeg”图像执行相同的操作。图像正在显示,但PDF不是。我的控制器中有以下代码: [Authorize] public ActionResult Show3LeadImage(int id) { Byte[] imageData = null; using (var scope = new PatientPersistenceScope()) {

我必须在局部视图中显示PDF(存储为SQL Server表中的BLOB)。我正在对表中存储为BLOB的“.jpeg”图像执行相同的操作。图像正在显示,但PDF不是。我的控制器中有以下代码:

[Authorize]
public ActionResult Show3LeadImage(int id)
{
    Byte[] imageData = null;
    using (var scope = new PatientPersistenceScope())
    {
         searchRequest leadRequest = new searchRequest();
         leadRequest.CaseNumber = id;
         var mrx12LeadBitmap = _mrxSearchService.Get12Lead(leadRequest);
         imageData = mrx12LeadBitmap.Data12Leads[0].mrx3Lead;
         scope.Done();
    }
   return File(imageData,"image/png");//I have tried "FileContentResult,but it didnt work
 }
部分视图(.ascx)中的代码如下所示:

<object data='<%= Url.Action("Show3LeadImage", "CareRecord", new { id = Model.CareRecord.CaseNumber}) %>' type="application/pdf" style="width: 721px; height: 800px;" ></object>

我没有访问物理文件的权限…我只有BLOB


甚至可以在局部视图中将PDF显示为图像吗?我看到很多文章解释了如何在部分视图中下载PDF,但我不希望我的文件可以下载。这个功能是可以实现的,还是我正在尝试做一些不可能的事情?

将PDF转换为图像并不像将其作为PNG那样简单。您需要使用一个库来转换它,比如ImageMagick或ABCPdf(示例:)


如果您想将PDF嵌入HTML中,有几种方法可以实现,即

将PDF放在磁盘上,并将其路径保存在sql中,就可以轻松实现。我想,这将降低SQL读/写时间。