找不到组件.(Hresult的例外:0x88982F50)



每当我尝试从本地文件检索图像时,上述异常发生在行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提供有关它的零信息。

相关内容

  • 没有找到相关文章

最新更新