[英]Task was cancelled exception when uploading file to S3 bucket using AWS .NET SDK?
I have WebApi method in Asp.Net Core 2 app which's receiving file from Angular in base64 format
. 我在Asp.Net Core 2应用程序中有WebApi方法,该应用程序以base64 format
从Angular接收文件。 I need these files to be stored on AWS S3 Bucket
, I found the code on amazon official docs but it's not working for me. 我需要将这些文件存储在AWS S3 Bucket
,我在亚马逊官方文档上找到了代码,但它对我不起作用。
I'm getting A task was cancelled
exception after few seconds. 我得到A task was cancelled
在几秒钟A task was cancelled
异常。
Here's my code: 这是我的代码:
public async Task UploadFileAsync(string base64Image)
{
try
{
var fileTransferUtility = new TransferUtility(_s3Client);
var image = Convert.FromBase64String(base64Image);
MemoryStream memStream = new MemoryStream();
BinaryFormatter binForm = new BinaryFormatter();
memStream.Write(image, 0, image.Length);
memStream.Seek(0, SeekOrigin.Begin);
await fileTransferUtility.UploadAsync(memStream, BucketName, KeyName);
Debug.WriteLine("Upload completed");
}
catch (AmazonS3Exception e)
{
Debug.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
}
catch (Exception e)
{
Debug.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
}
}
Any idea? 任何想法?
I'm not aware how things work in Angular but in regular http request coming to asp.net core api task can be cancelled for couple of reasons: 我不知道Angular中的工作原理如何,但是在asp.net核心api任务中的常规http请求可以取消,原因如下:
Actually 2-4 are same thing: executing job as fire-and-forget. 实际上2-4是相同的事情:执行工作就像点火一样。 The original task finishing and DI disposes all created types and _s3Client, I believe, one of them. 原始任务完成和DI处理所有创建的类型和_s3Client,我相信,其中之一。 That causes all work started on _s3Client to be cancelled. 这会导致在_s3Client上启动的所有工作都被取消。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.