将bytearray转换为base64 pdf而不是(总是)显示

时间:2016-11-21 09:43:42

标签: c# asp.net-mvc-4 pdf base64

所以我将pdf文件保存为数据库中的bytearray,当我需要它时,我将下载并将其转换为前端的base64字符串并正确格式化。

有时会出现这种情况,但有时情况并非如此,我无法弄清楚原因,或找到更好的解决方法。

Example

我的观点:

@{
    var base64 = Convert.ToBase64String(Model.PdfAsBinary);
    var pdfSrc = String.Format("data:application/pdf;base64,{0}", base64);
}
<embed src="@pdfSrc" type="application/pdf" />

这是我的工厂以及如何将pdf存储在数据库中:

byte[] image = File.ReadAllBytes(currentFileLocation);
_formerRepository.InsertFormerFileAsBinary(requestId, image);

这是处理数据库保存的InsertFormerFileAsBinary方法:

public void InsertFormerFileAsBinary (int requestId, byte[] file)
{
    using (var context = new ACSWEntities())
    {
        context.ACSW_UpdateFormerRequestPdfAsBinary(requestId, file);
    }
}

结果看起来像一个结构完美的base64字符串(标签总共有89107(!)个字符:

<embed src="data:application/pdf;base64,SUkqAEQEAQCAACBQOCQWDQeEQmFQuGQ2HQ+IRGJROKRWLReMRmNRuOR2PR+QSGRSOSSWTSeUSmVSuWS2XS+YTGZTOaTWbTecTmdTu......BCURIXC8MnwgULgGfgDxOgZ/==" type="application/pdf" />

0 个答案:

没有答案