2012-03-05 217 views
0

我目前正努力从本地存储上传多个文件到Azure Blob存储,我想知道是否有人可以帮助我,下面是我以前用来上传的代码一个zip文件。从本地存储上传所有文件到Azure Blob存储

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); 

谢谢,萨米人。

+1

你有什么问题? – Greg 2012-03-05 02:49:50

+0

对不起,我的问题并不清楚我在一个目录中有多个文件,我想提供目录的路径,然后代码上传所有的文件。 – Sami 2012-03-05 03:25:40

+1

这是如何将文件上传到Blob存储的?你永远不会对字节数组做任何事情。 – CodeThug 2012-03-05 03:34:57

回答

1

我不认为有任何内置的方法可以用来将多个文件上传到BLOB。你可以做的是一个接一个地或者并行地上传它们。

1

如果您刚开始使用Blob Storage,我鼓励您查看我们发布的"How to" article。具体而言,“如何将Blob上传到容器”部分应该会有所帮助。除此之外,Shaun是正确的 - 在StorageClient库中没有内置的支持来同时上传多个文件,但您肯定可以一个接一个地上传它们。

0

如果您的需要只是为了完成它,而不是让它成为应用程序,那么您应该考虑检查Cloud Storage Studio

2

从Azure存储PowerShell的Set-AzureStorageBlobContent很简单。

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

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

+0

此方法的问题你无法控制上传文件的前缀。 Azure存储不支持目录。如果像这样上传文件,它很难管理文件。 – davidshen84 2015-04-16 04:28:57

0

像CodeThug说, “你永远不会做的字节数组东西”。 您必须将数据流上传到blob,然后完成。