首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链ContinueWith任务

链ContinueWith任务
EN

Stack Overflow用户
提问于 2017-08-25 00:14:00
回答 1查看 417关注 0票数 3

我有以下两个任务的示例。当第一个完成时,第二个应该使用第一个的结果。我是这个领域的新手,如果有人指导我如何链接,我将不胜感激:

代码语言:javascript
复制
    public async Task<string> UploadFile(string containerName, IFormFile file)
    {
        //string blobPath = "";
        var container = GetContainer(containerName);
        var fileName = file.FileName;
        CloudBlockBlob blob = container.GetBlockBlobReference(fileName);
        using (var memoryStream = new MemoryStream())
        {
            // await file.CopyToAsync(memoryStream);
            // await blob.UploadFromStreamAsync(memoryStream);

            // upload only when the 'memoryStream' is ready 
            Task.Factory.StartNew(() => file.CopyToAsync(memoryStream))
                .ContinueWith(m => blob.UploadFromStreamAsync(m.Result)); // ??
        }
        return blob.Uri.AbsoluteUri;
    }

如果不是第二个变种:

代码语言:javascript
复制
public string UploadFile(string containerName, IFormFile file)
{
    var container = GetContainer(containerName);
    var fileName = file.FileName;
    CloudBlockBlob blob = container.GetBlockBlobReference(fileName);
    using (var memoryStream = new MemoryStream())
    {
        file.CopyToAsync(memoryStream).Wait();
        blob.UploadFromStreamAsync(memoryStream).Wait();

        //Task.Factory.StartNew(() => file.CopyToAsync(memoryStream))
        //    .ContinueWith(m => blob.UploadFromStreamAsync(m.Result)); // ??
    }
    return blob.Uri.AbsoluteUri;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-25 00:20:52

IFormFile获取流并直接上传

代码语言:javascript
复制
public async Task<string> UploadFile(string containerName, IFormFile file)
{
    //string blobPath = "";
    var container = GetContainer(containerName);
    var fileName = file.FileName;
    CloudBlockBlob blob = container.GetBlockBlobReference(fileName);
    await blob.UploadFromStreamAsync(file.OpenReadStream())
    return blob.Uri.AbsoluteUri;
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45866513

复制
相关文章

相似问题

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