如何解码base64 pdf(大尺寸)

时间:2019-02-14 10:45:19

标签: google-chrome pdf base64 asp.net-core-webapi

我有一个提供文档的API,某些大型pdf文件存在问题。

API返回像这样的字符串data:application/pdf;base64,JVBERi0xLj...

如果您将其复制粘贴到Chrome中,它将在浏览器中呈现PDF。

但是,超过5MB的较大文件只会崩溃或呈现白页。

是否有离线解决方案可在浏览器上呈现PDF?另外,如果文件太大,我必须在API上进行哪些更改以呈现文件?

如果您想查看一些代码,API控制器只需从Amazon S3驱动器下载文件,然后返回带有文件名和contentType的模型:

     var response = await this.amazonUploadService.GetFile(filename);

     var model = new DocumentViewModel
     {
         Data = response,
         FileName = document.FileName,
         ContentType = document.ContentType
     };

     return Ok(model.ToUrl());

ToUrl方法仅确保格式data:application/pdf;base64,JVBERi0xLj...

public string ToUrl()
{
   return string.Format("data:{0};base64,{1}", ContentType, Convert.ToBase64String(Data));
}

只需重申一下,一切都很好,并且已经工作了好几个月了。但是,开始看到一些文件过大的最新问题,因此我怀疑浏览器在起作用

0 个答案:

没有答案