В UWP мое приложение создало файл , затем я попытался получить его миниатюру ,но оно вернуло неправильный эскиз

#c# #uwp #jpeg #storagefile

#c# #uwp #jpeg #файл хранилища

Вопрос:

  1. Мое приложение uwp создает .jpg файл, а затем использует API storagefile.getThumbnail() .но оно возвращает миниатюру, представляющую общий тип файла jpg, а не показывает небольшой размер содержимого jpg;
  2. Я проверил созданный файл jpg,это полный файл,и его миниатюра в проводнике такая же, как и в моем приложении.
  3. Я останавливаю приложение,миниатюра проводника немедленно обновляется,она просто отражает размер содержимого;
  4. Я перезапустил приложение,и оно обычно может отображать нужный эскиз;
 Manga manga = new Manga(files[i], storageFolder); MangaList.Add(manga); // This is a observableCollection  await manga.EnsureCoverFile(); // create a jpg file await manga.SetCover(); // get the thumbnail of file  

Я подозреваю,что из-за приложения «Время работы» ОС Windows не обновит миниатюру .После того ,как приложение остановлено, ОС немедленно выполняет свою работу.

Итак, есть ли какие-либо способы или API для вызова обновления системы во время работы приложения?

введите описание изображения здесь

Комментарии:

1. Исходя из вашего описания, похоже, что файл изображения был обработан приложением, что привело к сбою системы в целом, миниатюра была сломана. И вы пытались освободить файл изображения вручную?

2. Я сделал три вещи: создал файл,записал поток в файл и получил миниатюру другим методом,и эти методы имеют только локальные переменные ,никаких общих переменных, в частности потока

3. Я имею в виду, что вы могли бы попытаться избавиться от записи данных и потока выпуска для выпуска файла и получить миниатюру через некоторое время