Как отменить загрузку на S3 Bucket из пользовательского интерфейса (. net ядро) - PullRequest
0 голосов
/ 30 апреля 2020

Я новичок в использовании 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 отменить загрузку.

Спасибо за всех, кто может мне помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...