2016-06-17 13 views
3

ファイルをアップロードする必要がありますAzureファイルストレージサービスC#(Blobストレージではありません) 、Blobストレージのためにそれを行う方法の情報だけを見つける、それはサポートされていないか、または私は悪い検索しているようだ。C#Azure "ファイルストレージサービス"にファイルをアップロード - Blobストレージではない

私がここまで取得することができるんだけど、ブロブ

FileInfo file = new FileInfo(@"C:\...\file.txt"); 
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString); 
CloudFileClient fileClient = storageAccount.CreateCloudFileClient(); 
CloudFileShare share = fileClient.GetShareReference(ConfigurationManager.AppSettings["ShareReference"]); 
CloudFileDirectory root = share.GetRootDirectoryReference(); 
CloudFileDirectory dir = root.GetDirectoryReference("TESTDIR"); 

using (FileStream fs = file.OpenRead()) 
{ 
    // what should I do here 
} 

のように何UploadFromStream()方法はありませんが、このようなファイルをアップロードすることが可能ですか?
この場合、何が欠けていますか?

答えて

8

インスタンスから作成するファイルに、CloudFileインスタンスを最初に作成する必要があります。参照を取得したら、CloudFile.UploadFromStream()メソッドを含む複数の方法でアップロードできます。

FileInfo file = new FileInfo(@"C:\...\file.txt"); 
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString); 
CloudFileClient fileClient = storageAccount.CreateCloudFileClient(); 
CloudFileShare share = fileClient.GetShareReference(ConfigurationManager.AppSettings["ShareReference"]); 
CloudFileDirectory root = share.GetRootDirectoryReference(); 
CloudFileDirectory dir = root.GetDirectoryReference("TESTDIR"); 

var cloudFile = dir.GetFileReference("myfile.txt"); 

using (FileStream fs = file.OpenRead()) 
{ 
    cloudFile.UploadFromStream(fs); 
} 
+0

ありがとうございます。非常にうまくいきます。 –

関連する問題