首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将流异步写入Azure BlobStorage

将流异步写入Azure BlobStorage
EN

Stack Overflow用户
提问于 2017-11-09 17:45:18
回答 1查看 4.5K关注 0票数 3

我正在重写我的C#代码以使用Azure Blob存储而不是文件系统。到目前为止,重写正常文件操作的代码没有问题。但是我有一些使用来自流的异步写入的代码:

代码语言:javascript
运行
复制
        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可以写入的流对象。

EN

回答 1

Stack Overflow用户

发布于 2017-11-09 18:04:48

您可能希望在CloudBlockBlob上使用UploadFromStreamAsync方法。下面是一个这样做的示例代码(虽然我还没有尝试运行此代码):

代码语言:javascript
运行
复制
        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);
        }
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47198544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档