Отправка всех файлов из локального хранилища в хранилище BLOB-объектов Azure

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

    private void SaveZip(string id, string fileName, string contentType, byte[] data)
    {
        // Create a blob in container and upload image bytes to it
        var blob = this.GetContainer().GetBlobReference(fileName);

        blob.Properties.ContentType = contentType;

        // Create some metadata for this image
        var metadata = new NameValueCollection();
        metadata["Id"] = id;
        metadata["Filename"] = fileName;
    }

    SaveZip(
        Guid.NewGuid().ToString(),
        zipFile.FileName,
        zipFile.PostedFile.ContentType,
        zipFile.FileBytes);

Спасибо, Сами.


person Sami    schedule 05.03.2012    source источник
comment
В чем проблема?   -  person Greg    schedule 05.03.2012
comment
Извините, мой вопрос не ясен. У меня есть несколько файлов в каталоге, я хотел бы указать путь к каталогу, тогда код загружает все файлы.   -  person Sami    schedule 05.03.2012
comment
Как это загрузить файл в хранилище BLOB-объектов? Вы никогда ничего не делаете с байтовым массивом.   -  person CodeThug    schedule 05.03.2012
comment
Я не совсем уверен, что я следовал руководству по подключению этого кода, похоже, он работал, поскольку я использовал проводник хранилища BLOB-объектов, и файлы te отображались в хранилище BLOB-объектов, как если бы они были загружены   -  person Sami    schedule 05.03.2012


Ответы (5)


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

person Shaun Xu    schedule 05.03.2012

Это довольно просто с Set-AzureStorageBlobContent из Azure Storage PowerShell.

ls -File -Recurse | Set-AzureStorageBlobContent -Container upload

Документация MSDN: http://msdn.microsoft.com/en-us/library/dn408487.aspx

person Yao    schedule 03.09.2013
comment
Проблема с этим методом в том, что вы не можете контролировать префиксы загружаемых файлов. Хранилище Azure не поддерживает каталоги. Если загружать файлы в таком виде, будет сложно управлять ими. - person David S.; 16.04.2015

Если вы только начинаете работать с хранилищем BLOB-объектов, я бы посоветовал вам взглянуть на " Как сделать "статью, которую мы опубликовали. В частности, вам может быть полезен раздел «Как загрузить большой двоичный объект в контейнер». Кроме того, Шон прав - в библиотеке StorageClient нет встроенной поддержки для одновременной загрузки нескольких файлов, но вы, безусловно, можете загружать их по одному.

person Jeff Irwin - Microsoft    schedule 06.03.2012

Если вам нужно просто сделать это, а не делать из этого приложение, вам следует подумать о том, чтобы попробовать Cloud Storage Studio.

person David Peden    schedule 06.03.2012

Как сказал CodeThug: «Вы никогда ничего не делаете с байтовым массивом». Вам нужно загрузить поток данных в большой двоичный объект, и все готово.

person Marco Staffoli    schedule 13.11.2013