我必须在局部视图中显示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文件。但我不希望我的文件可以下载。这个功能是可以实现的,还是我想做一些不可能的事情?
答案 0 :(得分:1)
将PDF转换为图像并不像将其作为PNG一样简单。您需要使用库来转换它,例如ImageMagick或ABCPdf(示例:Convert PDF to image with high resolution)
如果您想将PDF嵌入HTML中,有几种方法可以实现,即Recommended way to embed PDF in HTML?