我有一个提供文档的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));
}
只需重申一下,一切都很好,并且已经工作了好几个月了。但是,开始看到一些文件过大的最新问题,因此我怀疑浏览器在起作用