L'eccezione sopra riportata si verifica alla riga await bitmapImage.SetSourceAsync(fileStream);
ogni volta che si tenta di recuperare l'immagine dal file locale.Impossibile trovare il componente. (Eccezione da HRESULT: 0x88982F50)
Questo è il metodo che sto utilizzando per archiviare e recuperare il file immagine.
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);
}
}
Il flusso di input per il metodo WriteImageToFile viene recuperato da contact.Thumbnail.OpenReadAsync metodo
Qualsiasi aiuto()?
Sto presentando lo stesso problema ... Hai trovato una soluzione? – Pedrom
Speriamo che abbiate già lavorato su questo, ma l'errore 0x88982f50 è generalmente correlato a un errore di lettura/decodifica di un file immagine correttamente. Verifica che il tuo file sia formattato correttamente. (Google 88982f50 per vedere dozzine di correzioni potenzialmente correlate, tutte relative all'I/O del file immagine.) Questo risultò essere il mio problema ... File non valido. – sraboy
@sraboy grazie, mi hai salvato un giorno :) file non validi con dimensioni 0 byte o errori di formattazione. dovremmo sempre verificare se lo stream è stato creato con successo – user3290180