2015-07-17 2 views
0

Как загрузить изображения на 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 
    }); 

Это задерживает выполнение кода асинхронно, и пользователь берется к следующему шагу формы, но по какой-то причине он не загружать файлы и У меня тоже нет никаких исключений.

ответ

Смежные вопросы