2012-03-05 257 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,然後完成。