我正在尝试使用 Azure 函数(HTTP 触发器)在 azure blob 存储中上传 excel 文件。我附上了我的代码。它工作不正常。
我收到类似的错误 "Cannot implicitly convert type 'System.Threading.Tasks.Task<System.Collections.Generic.List<FileUpload1.Function1.FileDetails>>' to 'FileUpload1.Function1.FileDetails' FileUpload"
请帮我解决这个问题。
[FunctionName("Function1")]
public static FileDetails Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequestMessage req,
ILogger log)
{
if (!req.Content.IsMimeMultipartContent("form-data"))
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
var multipartStreamProvider = new AzureBlobStorageMultipartProvider(BlobHelper.GetWebApiContainer());
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("configuratorstorage1");
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("excelfiles");
//var count = container.ListBlobs().Count(); return
return req.Content.ReadAsMultipartAsync(multipartStreamProvider).ContinueWith(t =>
{
if (t.IsFaulted)
{
throw t.Exception;
}
AzureBlobStorageMultipartProvider provider = t.Result;
return provider.Files;
});
我期望我必须使用 azure 函数 HTTP 触发器在 azure blob 存储中上传 excel 文件。
目前,req.Content.ReadAsMultipartAsync(multipartStreamProvider).ContinueWith(t => ...
正在返回Task<FileDetails>
。你需要await
它来获取你要返回的对象public static FileDetails Run()
return await req.Content.ReadAsMultipartAsync(multipartStreamProvider).ContinueWith(t =>
{
if (t.IsFaulted)
{
throw t.Exception;
}
AzureBlobStorageMultipartProvider provider = t.Result;
return provider.Files;
});
编辑:在快速谷歌之后 -req.Content.ReadAsMultipartAsync(multipartStreamProvider).ContinueWith(t => ...
可能会返回Task<List<FileDetails>>
所以如果上述方法不起作用,请尝试。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句