Как декодировать base64 pdf (большой размер) - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть API, который обслуживает документы, и есть проблема с некоторыми большими файлами PDF.

API возвращает строку, подобную этой data:application/pdf;base64,JVBERi0xLj...

Если вы копируете вставку в Chromeон отобразит PDF в браузере.

Однако большие файлы размером более 5 МБ просто аварийно завершают работу или отображают белую страницу.

Существует ли автономное решение для отображения PDF в браузере?В качестве альтернативы, что я должен изменить в API для рендеринга файла, если он слишком большой?

Если вы хотите увидеть какой-то код, контроллер API просто загружает файл с диска Amazon S3 и затем возвращаетмодель с именем файла и типом содержимого:

     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));
}

Просто повторюсь, все это работает нормально и былоработает нормально в течение нескольких месяцев.Однако в последнее время стали появляться проблемы с слишком большими файлами, поэтому я подозреваю, что при воспроизведении есть ограничение браузера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...