2011-01-11 16 views
0

誰でも以下のコードを教えてもらえますか?私は4行目で「引数の例外」を取得しています。 InnerExceptionはNothingです。ビットマップをストリームに保存するときに "引数の例外"が発生する原因は何ですか?

Using btm As Bitmap = Image.FromStream(importFile.InputStream) 
    Using newImage As Bitmap = ResizeImage(btm, StoringSize) 
     Dim stream As New MemoryStream 
     newImage.Save(stream, Imaging.ImageFormat.Bmp) 'Argument exception occurred. Parameter is not valid 
     StoringFilesHelper.SaveFile(fileName, stream, folderType) 
    End Using 
End Using 

このコードは、例外なしに取り組んでいる:

Using btm As Bitmap = Image.FromStream(importFile.InputStream) 
    Using newImage As Bitmap = ResizeImage(btm, StoringSize) 
     'Dim stream As New MemoryStream 
     'newImage.Save(stream, Imaging.ImageFormat.Jpeg) 
     'StoringFilesHelper.SaveFile(fileName, Stream, folderType) 

     Dim filePath As String = StoringFilesHelper.GetLocalPath(fileName, folderType) 
     newImage.Save(filePath) 
    End Using 
End Using 

は最後に、私はその理由を得ました。 http://blog.lavablast.com/post/2007/11/29/The-Mysterious-Parameter-Is-Not-Valid-Exception.aspx イメージはResizeImageメソッドで処理されました。

+4

ArgumentExceptionがメッセージはあなたにそれが発生したパラメータを伝え、そしておそらくあなたにArgumentExceptionがの原因となった根本的な例外を教えてくださいのInnerException必要があります。投稿すると、それが助けになるでしょう。 – mdm

+0

msdn Image.Save(...)によると、ArgumentNullExceptionとExternalExceptionがスローされます。 ResizeImageは正常に動作しますか? – Nickolodeon

+1

'ArgumentException'は' Image.Save'メソッドによってスローされません([documentation](http://msdn.microsoft.com/en-us/library/ms142147.aspx)を参照してください)。そして、あなたが 'ArgumentNullException'を意味するならば、あなたのコードのどこかに問題がある可能性があります。私たちが見ることのできないメソッドへの呼び出しがたくさんあります。彼らは何をしますか?彼らは例外を投げていますか? –

答えて

0

このラインなしで、あなたのコードを実行してみてください:

StoringFilesHelper.SaveFile(fileName, stream, folderType) 
+0

どちらかになります。参照:http://msdn.microsoft.com/en-us/library/ms142147.aspx – Yogesh

+0

ストリームでオーバーロードも存在する:public void Save( \tストリームストリーム、 \t ImageFormat形式 ) – Nickolodeon

関連する問題