【问题标题】:Upload all files from local storage to Azure Blob Storage将所有文件从本地存储上传到 Azure Blob 存储
【发布时间】:2012-03-22 14:10:16
【问题描述】:

我目前正在努力将多个文件从本地存储上传到 Azure Blob 存储,我想知道是否有人可以帮助我,下面是我之前用来上传单个 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);

谢谢,萨米。

【问题讨论】:

  • 您遇到了什么问题?
  • 对不起,我的问题不清楚我在一个目录中有多个文件,我想提供目录的路径,然后代码上传所有文件。
  • 如何将文件上传到 Blob 存储?你永远不会对字节数组做任何事情。
  • 我不确定我是否完全按照教程来连接该代码,它似乎工作,因为我使用了 blob 存储资源管理器并且 te 文件显示在 blob 存储中,就好像它们已经上传

标签: upload azure azure-blob-storage


【解决方案1】:

使用 azure storage powershell 中的 Set-AzureStorageBlobContent 非常简单。

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

MSDN 文档:http://msdn.microsoft.com/en-us/library/dn408487.aspx

【讨论】:

  • 这种方法的问题是不能控制上传文件的前缀。 Azure 存储不支持目录。如果像这样上传文件很难管理。
【解决方案2】:

我认为没有任何内置方法可用于将多个文件上传到 BLOB。你可以做的是一个一个上传,或者并行上传。

【讨论】:

    【解决方案3】:

    如果您刚开始使用 Blob 存储,建议您查看我们发布的 "How to" article。具体来说,“如何将 Blob 上传到容器中”部分应该会有所帮助。除此之外,Shaun 是正确的 - StorageClient 库中没有内置支持一次上传多个文件,但您当然可以一个接一个地上传它们。

    【讨论】:

      【解决方案4】:

      如果您的需要只是完成它,而不是用它制作应用程序,您应该考虑查看Cloud Storage Studio

      【讨论】:

        【解决方案5】:

        就像 CodeThug 所说,“你永远不会对字节数组做任何事情”。 您必须将数据流上传到 blob,然后就完成了。

        【讨论】:

          猜你喜欢
          • 2017-01-24
          • 2017-08-19
          • 2021-03-07
          • 1970-01-01
          • 2019-07-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-10
          相关资源
          最近更新 更多