Я новичок в использовании AWS SDK для. net, и я нуб в задачах для. net, поэтому я не знаю, как я могу отменить загрузку на s3. Итак, в основном мы пытаемся отменить загрузку из пользовательского интерфейса, поэтому ему необходимо вызвать конечную точку для API, но я не уверен, как реализовать это.
Вот код для загрузки file:
public void UploadTask(IFormFile formFile, string userId) {
var key = $"{userId}/{Guid.NewGuid()}";
Task.Run(async () =>
{
using (var inputStream = formFile.OpenReadStream())
{
var fileMeta = SetFileMeta(formFile, key, userId);
await UploadToS3(inputStream, formFile.ContentType, fileMeta);
}
});
}
private async Task UploadToS3(Stream inputStream, string contentType, S3FileDetails fileDetails) {
using (var fileTransferUtility = new TransferUtility(AmazonS3Client())) {
var uploadRequest = UploadRequest(inputStream, contentType, fileDetails);
uploadRequest.UploadProgressEvent += UploadProgressEvent;
await fileTransferUtility.UploadAsync(uploadRequest);
}
}
В основном у меня есть конечная точка для вызова UploadTask, которая будет запускаться для загрузки файла в s3, но после этого я не уверен, что нужно сделать, чтобы пользовательский интерфейс вызывал что-то из API отменить загрузку.
Спасибо за всех, кто может мне помочь.