Google Docs Viewer с файлами, требующими авторизации? - PullRequest
0 голосов
/ 05 февраля 2019

Google Docs Viewer довольно хороший и простой в использовании инструмент.Требуется только путь к файлу и визуализация документа.Он также имеет много дополнительных функций, таких как выбор страницы, поворот и т. Д. Однако есть ли способ установить некоторые полномочия или дополнительные заголовки для вызова, который получает файл?

Насколько я знаю, URL документа передается следующим образом:

http://docs.google.com/viewer?url=<URL_OF_DOCUMENT>&embedded=true

Я думаю, что это очень важно, потому что большинство файлов защищены ..

Например, ng-pdf-viewer имеет возможность получить объект в качестве источника:

 this.sourceObject = {
     src: this.document.documentLink, 
     httpHeaders: { Authorization: 'Bearer ' + token }
 }

Заранее спасибо:)

1 Ответ

0 голосов
/ 23 февраля 2019

Я нашел решение!Файлы должны быть загружены как BLOB-объекты:

new Blob([new Uint8Array(response)], { type: 'application/pdf' })

, а затем blobUrl должен быть передан зрителю:

this.iframeSrc = `https://docs.google.com/viewer?url=${this.document.blobUrl}&embedded=true`;
...