Powyższy wyjątek występuje w linii await bitmapImage.SetSourceAsync(fileStream);
, gdy próbuję pobrać obraz z lokalnego pliku.Nie można znaleźć komponentu. (Wyjątek od HRESULT: 0x88982F50)
Jest to metoda, której używam do przechowywania i pobierania pliku obrazu.
public async Task<BitmapImage> RetrieveImageFromFile(String fileName)
{
try
{
StorageFile localFile = await _storageFolder.GetFileAsync(fileName + "Img");
BitmapImage bitmapImage = new BitmapImage();
using (IRandomAccessStream fileStream = await localFile.OpenAsync(FileAccessMode.Read))
{
await bitmapImage.SetSourceAsync(fileStream);
}
return bitmapImage;
}
catch(Exception e)
{
return null;
}
}
public async void WriteImageToFile(string fileName, IRandomAccessStreamWithContentType stream)
{
StorageFile file = await _storageFolder.CreateFileAsync(fileName + "Img", CreationCollisionOption.ReplaceExisting);
Stream streamToSave = stream.AsStreamForWrite();
using (Stream fileStram = await file.OpenStreamForWriteAsync())
{
streamToSave.CopyTo(fileStram);
}
}
Strumień wejściowy dla sposobu WriteImageToFile są pobierane z contact.Thumbnail.OpenReadAsync metodą
Każda pomoc()?
Przedstawiam ten sam problem ... Czy znalazłeś rozwiązanie? – Pedrom
Mam nadzieję, że już się nad tym rozwinęło, ale błąd 0x88982f50 jest ogólnie związany z błędem odczytu/dekodowania pliku obrazu. Sprawdź, czy twój plik jest poprawnie sformatowany. (Google 88982f50, aby zobaczyć dziesiątki potencjalnie powiązanych poprawek, wszystko związane z we/wy pliku obrazu). To również okazało się moim problemem ... Zły plik. – sraboy
@sraboy dzięki, uratowałeś mi dzień :) złe pliki o rozmiarze 0 bajtów lub błędy formatowania. zawsze powinniśmy sprawdzić, czy strumień został pomyślnie utworzony. – user3290180