2010-12-06 18 views
0

ASP.Net応答ストリームからBitmapDecoderを作成しようとすると、この奇妙な例外が発生します。これは、例外をスローコードの行です:System.Runtime.InteropServices.COMException(0x88982F72)を解決するためのアドバイスが必要

BitmapDecoder dec = BitmapDecoder.Create(
    Request.Files[0].InputStream, 
    BitmapCreateOptions.PreservePixelFormat, 
    BitmapCacheOption.OnLoad); 

はここでアップロードされたファイルのいくつかの情報です:

ファイル名:銀行statement.jpg、コンテンツの長さ:266041、MIMEタイプ:image/

System.IO.IOException: Cannot read from the stream. ---> 
    System.Runtime.InteropServices.COMException (0x88982F72): 
    Exception from HRESULT: 0x88982F72 
--- End of inner exception stack trace --- 
at System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(Uri uri, Stream stream, BitmapCacheOption cacheOption, Guid& clsId, Boolean& isOriginalWritable, Stream& uriStream, UnmanagedMemoryStream& unmanagedMemoryStream, SafeFileHandle& safeFilehandle) 
at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, Boolean insertInDecoderCache) 
at System.Windows.Media.Imaging.BitmapDecoder.Create(Stream bitmapStream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption) 

は、いずれかを行います:JPEG

は、これは例外のスタックトレースです私たちがこれを防ぐ方法についてのアイデアはありますか?

+0

これを試しましたか?http://forums.asp.net/p/1219504/2171553.aspx? – Andrey

+0

これはRPCではなく、COMのHRESULTは異なります.. – Amy

+0

また、毎回発生しません。 1日数回、100回のアップロードが成功しました。 – Amy

答えて

1

0x88982f72は、実際には "ストリームから読み取れません"というWINCODEC_ERR_STREAMREAD(Codec Error Codes)です。

「野生の世界」(別名:インターネット)からストリームが届いている場合、そのストリームはゴミまたはハックの一時的なものである可能性があります。独自のテストが正常に動作し、この問題が発生しない場合は、この特定のエラーを処理して正常に処理できないと思う。

+0

+1リトライは、正常な操作としてユーザーに依頼できます。 – Andrey

関連する問題