[英]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.