Я использую следующий код, чтобы downlaod изображения формирует удаленный URL и сохранить в локальную папкуСкачать и сохранить изображение из URL-адрес Универсального окна приложения
try
{
var rootFolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("MyAppName\\CoverPics", CreationCollisionOption.OpenIfExists);
var coverpic_file = await rootFolder.CreateFileAsync(filename, CreationCollisionOption.FailIfExists);
try
{
var httpWebRequest = HttpWebRequest.CreateHttp(coverUrl);
HttpWebResponse response = (HttpWebResponse)await httpWebRequest.GetResponseAsync();
Stream resStream = response.GetResponseStream();
using (var stream = await coverpic_file.OpenAsync(FileAccessMode.ReadWrite))
{
await resStream.CopyToAsync(stream.AsStreamForWrite());
}
response.Dispose();
}
catch //any exceptions happend while saving the picture
{
saved = false;
}
}
catch
{
//https://msdn.microsoft.com/en-us/library/windows/apps/br227250.aspx
//Raise an exception if file already present
saved = true;
}
Этот код работает для меня в большинстве хранения случаев, но я заметил, что за несколько снимков изображение не загружается полностью.
Я callling этой функции в блоке асинхронного для более tahn 100 изображений в одном ходе внутри цикла Еогеаспа и в конце концов некоторые из них не удалась Загрузкой
[Либо я могу увидеть некоторые недопустимый файл становится создано
или часть изображения только при загрузке и остальной части области. Я вижу блок черного цвета [выглядит как изображение повреждено].
Размер всех изображений составляет менее 1 МБ только
Может кто-нибудь помочь мне, чтобы оптимизировать этот код или указать на ошибку в коде, так что я могу иметь возможность загрузить все изображения полностью
Ваш код выглядит нормально -_- – kiewic
Любая идея, почему образы не скачивая полностью тогда? Является ли какое-либо влияние ограничений памяти? Должен ли я читать ответ в виде байтов данных? Или возможны какие-либо улучшения в этом коде? –
@kiewic Не могли бы вы найти ответ и любые комментарии по этому поводу? –