Чтение файла из хранилища BLOB-объектов Azure

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

https://hostedPath/pdf/1001_12_Jun_2012_18_39_05_594.pdf

Таким образом, можно читать содержимое из хранилища BLOB-объектов, передавая его путь прямо? Также я использую c #.

Ответы на вопрос(2)

publicВы можете передать URL-адрес BLOB-объекта. Например, вы можете встроить его в HTML-изображение или ссылку:

<a href="https://myaccount.blob.core.windows.net/pdf/1001_12_Jun_2012_18_39_05_594.pdf">click here</a>

По умолчанию контейнеры BLOB-объектовprivate, Чтобы включить публичный доступ на чтение, вам просто нужно изменить разрешения контейнера при создании контейнера. Например:

var blobStorageClient = storageAccount.CreateCloudBlobClient();
var container = blobStorageClient.GetContainerReference("pdf");
container.CreateIfNotExist();

var permissions = container.GetPermissions();
permissions.PublicAccess = BlobContainerPublicAccessType.Container;
container.SetPermissions(permissions);
 13 июн. 2012 г., 15:33
И, пожалуйста, ознакомьтесь с ответом @ Sandrino о сигнатурах общего доступа, которые вы, вероятно, найдете очень полезными для пользовательского контента по сравнению с общедоступным контентом, таким как изображения, файлы помощи, брошюры и т. Д.

как объяснил Дэвид, вы можете получить доступ к любому большому объекту через его URL, если контейнер не является приватным.

Если контейнер закрытый, вы все равно можете сделать свои файлы доступными через URL, используяПодписи общего доступа (SAS). Это позволит вам предоставить пользователям право загружать файл (предоставляя им SAS,обычно добавляется к URL) но ограничивая их во времени.

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

Теперь в своем вопросе вы заявляете, что используете C #. Если вы хотите загрузить файл в приложение WPF / Windows Forms / Console, вы можете просто использовать WebClient для загрузки файла (если контейнер общедоступен или вы добавляете URL-адрес с помощью SAS):

WebClient myWebClient = new WebClient();
myWebClient.DownloadFile("https://myaccount.blob.core.windows.net/pdf/1001_12_Jun_2012_18_39_05_594.pdf", @"D:\Data\myPdfFile.pdf");    
 14 мая 2014 г., 09:37
Ссылка msdn для SAS больше не работает

Ваш ответ на вопрос