Как получить общедоступный URL-адрес файла файлов Azure?

Я использую файлы Azure для хранения файлов своего веб-приложения, о которых я ранее упоминал здесь.

В настоящее время я обрабатываю файлы / подкаталоги в каталоге и выводю таблицу навигации, чтобы пользователь мог перемещаться по подкаталогам и, в конце концов, получать указанные файлы. Я делаю это, используя методы, описанные в разделе «Программный доступ к файловому ресурсу» в эта статья документации Azure.

У меня очень простой вопрос: как я могу из своего веб-приложения, которое работает в службе приложений Azure, предоставить общедоступный URL-адрес, по которому пользователь может загрузить / просмотреть файл?

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


person devSparkle    schedule 23.12.2015    source источник


Ответы (2)


Мой вопрос очень прост: как я могу из своего веб-приложения, которое работает в службе приложений Azure, предоставить общедоступный URL-адрес, по которому пользователь может загружать / просматривать файл?

Одно из возможных решений - создать Shared Access Signature (SAS) для файлов с разрешением не менее Read и использовать этот URL-адрес SAS. В зависимости от типа содержимого файла, содержимое файла будет либо отображаться в браузере, либо пользователю будет предложено загрузить файл. Если вы хотите принудительно загрузить загрузку, вы всегда можете переопределить Content-Disposition заголовок ответа в SAS.

person Gaurav Mantri    schedule 23.12.2015
comment
Спасибо, я изучил это, и, похоже, это идеальное решение, пора приступать к работе! - person devSparkle; 23.12.2015

Использование подписи общего доступа (SAS) могло бы быть решением, но, вероятно, это излишество в данном сценарии.

В предоставленном сценарии хранилище BLOB-объектов с открытым доступом является наиболее практичным способом хранения файлов. Из документации:

... Вы можете указать, что контейнер и его большие двоичные объекты или конкретный большой двоичный объект доступны для общего доступа. Когда вы указываете, что контейнер или большой двоичный объект является общедоступным, любой может прочитать его анонимно; аутентификация не требуется. Общедоступные контейнеры и большие двоичные объекты полезны для предоставления доступа к таким ресурсам, как мультимедиа и документы, размещенные на веб-сайтах. Чтобы уменьшить сетевую задержку для глобальной аудитории, вы можете кэшировать данные больших двоичных объектов, используемые веб-сайтами с помощью Azure CDN.

https://azure.microsoft.com/en-us/documentation/articles/storage-introduction/

Чтобы установить разрешения контейнера на портале Azure, выполните следующие действия:

  1. Перейдите на панель управления своей учетной записи хранения.
  2. Выберите имя контейнера из списка. Щелчок по имени открывает капли в выбранном контейнере.
  3. Выберите Политика доступа на панели инструментов.
  4. В поле "Тип доступа" выберите "Blob".
person VeganHunter    schedule 08.11.2016