Вставить PDF-файл BLOB-объекта Azure в iframe с помощью Google gview
У меня есть PDF-файл, хранящийся в службе BLOB-объектов Azure по этому URL.
Я могу скачать его из браузера по этому адресу.
Теперь я хочу встроить этот PDF-файл в HTML-страницу с помощью Google GView.
Я набрал:
<iframe src="https://drive.google.com/viewerng/viewer?url=https://hoxrostorage.blob.core.windows.net/hoxro/Matter_545/266408d1-309c-4258-808e-6bccdfc840c8.pdf?sv=2015-04-05&sr=b&sig=x8VhYOUGSNp9AJfV%2BT%2BybcBkPQknqNXdolq4Xo0ZAXU%3D&se=2016-06-29T20%3A58%3A52Z&sp=r&rsct=application%2Fpdf&embedded=true" width="400px" height="300px" />
Это показывает мне:
Пожалуйста, обратите внимание:
В хранилище BLOB-объектов Azure тип содержимого моего pdf установлен на application/pdf
Я уже проверил так много постов из разных мест, но не смог прийти к какому-либо заключению.
Может ли кто-нибудь, пожалуйста, указать мне правильное направление, что здесь происходит?
1 ответ
Не уверен, что вы это поняли, но ваш URL содержит строку запроса, которая, в свою очередь, содержит строку запроса. Фрагмент:
src="https://drive.google.com/viewerng/viewer?
url=https://hoxrostorage.blob.core.windows.net/hoxro/Matter_545/266408d1-309c-4258-808e-6bccdfc840c8.pdf?
sv=2015-04-05&sr=b&sig=x8VhYOUGSNp9AJfV%2BT%2BybcBkPQknqNXdolq4Xo0ZAXU%3D&se=2016-06-29T20%3A58%3A52Z&sp=r&rsct=application%2Fpdf
&embedded=true"
До &embedded=true
остальное - строка запроса для вашего большого двоичного объекта (которая, в свою очередь, содержит строку запроса для работы с сигнатурой общего доступа).
Вам нужно будет закодировать встроенный URL-адрес большого двоичного объекта, чтобы URL анализировался правильно.
Я не знаю, решит ли это проблему встроенного предварительного просмотра, но, по крайней мере, исправит форматирование вашего URL.
Этот код работает для меня
<iframe src="https://docs.google.com/viewer?embedded=true&url=<<previewUri>>"
frameborder="no" style="width:100%;height:500px"></iframe>
var blobUri=$"{blob.Uri}{sasToken}";
var previewUri = Uri.EscapeDataString(blobUri);
этот previewUri будет использоваться в iframe