Как загрузить изображения на S3 Асинхронно, я имею в виду, что клиенту не нужно ждать, пока все изображения не будут загружены, чтобы перейти на следующую страницу формы.Загрузка изображений Асинхронно на amazon S3
Я сначала загружаю изображения на свой сервер в каталоге temp через ajax, а затем, когда пользователь отправляет форму, я беру те же изображения и загружаю их на S3, этот шаг от temp до S3 занимает некоторое время.
Сейчас у меня есть эта логика на месте и работает:
//Upload img to S3
AwsHelper.UploadImage(sourceFileSmall, targetFileSmall, photo.FileNameSmall, ConfigurationManager.AppSettings["AWS_bucket_PropertyImg"]);
//delete the temp local img after upload
System.IO.File.Delete(sourceFileSmall);
//I call this method several more times, one for each image size
Но это займет некоторое время, потому что в зависимости от количества занимает до 1 минуты.
Я попробовать Обертывание этот код внутри:
Task.Factory.StartNew(() => {
AwsHelper.UploadImage(sourceFileSmall, targetFileSmall, photo.FileNameSmall, ConfigurationManager.AppSettings["AWS_bucket_PropertyImg"]);
System.IO.File.Delete(sourceFileSmall);
//I call this method several more times, one for each image size
});
Это задерживает выполнение кода асинхронно, и пользователь берется к следующему шагу формы, но по какой-то причине он не загружать файлы и У меня тоже нет никаких исключений.