每当我尝试从本地文件中检索图像时,就会在行await bitmapImage.SetSourceAsync(fileStream);
发生上述异常。
这是我用来存储和检索图像文件的方法。
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);
}
}
从contact.Thumbnail.OpenReadAsync()方法中检索WriteImageToFile方法的输入流
任何帮助?
答案 0 :(得分:1)
只是将评论转变为答案,因为它一直在帮助人们:
0x88982f50错误通常与无法正确读取/解码图像文件有关。验证您的文件格式正确。谷歌88982f50可以看到许多与潜在相关的修复,都与图像文件I / O有关。我从来没有找到错误的确切来源,但结果也是我的问题......糟糕的文件。
答案 1 :(得分:0)
最新答案,但可能使其他人免于花费数小时来寻找答案...
错误代码0x88982f50为WINCODEC_ERR_COMPONENTNOTFOUND,这是Windows Imaging Component表示无法解码图像文件的方式。
文件很可能已损坏,或者Windows中安装的WIC版本不包含对其进行解码所需的编解码器。
Microsoft提供了零信息。