每当我尝试从本地文件检索图像时,上述异常发生在行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()方法
中检索了写入Imagetofile方法的输入流有帮助吗?
只是将我的评论变成答案,因为它一直在帮助人们:
0x88982F50错误通常与未正确读取/解码的图像文件有关。验证您的文件的格式正确。Google 88982F50可查看数十个可能相关的修复程序,所有修复程序都与图像文件I/O有关。我从来没有找到错误的确定来源,但这也是我的问题...糟糕的文件。
迟到答案,但可能会节省其他人的时间来追捕...
错误代码0x88982f50是wincodec_err_componentnotfound,它是Windows Imaging组件的说法无法解码图像文件的方式。
很可能该文件已损坏,或者在Windows中安装的WIC版本不包括解码它所需的编解码器。
Microsoft提供有关它的零信息。