簡體   English   中英

將流異步寫入Azure BlobStorage

[英]Write Stream async to Azure BlobStorage

我正在重寫C#代碼以使用Azure Blob存儲而不是文件系統。 到目前為止,為正常的文件操作重寫代碼沒有問題。 但是我有一些使用異步寫入流的代碼:

        using (var stream = await Request.Content.ReadAsStreamAsync())
        {
            FileStream fileStream = new FileStream(@"c:\test.txt", FileMode.Create, FileAccess.Write, FileShare.None);

            await stream.CopyToAsync(fileStream).ContinueWith(
             (copyTask) =>
             {
                 fileStream.Close();
             });
        }

我需要更改以上內容以使用Azure CloudBlockBlob或CloudBlobStream-但找不到聲明copyToAsync可以寫入的流對象的方法。

您可能想在UploadFromStreamAsync上使用UploadFromStreamAsync方法。 這是執行此操作的示例代碼(盡管我沒有嘗試運行此代碼):

        var cred = new StorageCredentials(accountName, accountKey);
        var account = new CloudStorageAccount(cred, true);
        var blobClient = account.CreateCloudBlobClient();
        var container = blobClient.GetContainerReference("container-name");
        var blob = container.GetBlockBlobReference("blob-name");
        using (var stream = await Request.Content.ReadAsStreamAsync())
        {
            stream.Position = 0;
            await blob.UploadFromStreamAsync(stream);
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM