我在Asp.Net Core 2应用程序中有WebApi方法,该方法正在base64 format
中从Angular接收文件。我需要将这些文件存储在AWS S3 Bucket
上,我在Amazon官方文档中找到了代码,但对我来说不起作用。
几秒钟后,我收到A task was cancelled
异常。
这是我的代码:
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);
}
}
有什么主意吗?
答案 0 :(得分:0)
我不知道Angular的工作方式,但是由于以下几个原因,可以取消向asp.net核心api任务发出的常规http请求:
实际上2-4是相同的事情:执行工作就像一劳永逸。最初的任务完成和DI处理所有创建的类型和_s3Client,我相信其中之一。这将导致取消在_s3Client上启动的所有工作。