1

コードで「System.Drawing.Bitmap..ctor(Stream stream) でパラメータが無効です」というメッセージが表示されます。

コードで次の行を使用しています。

System.Drawing.Bitmap image = new System.Drawing.Bitmap(fileUpload1.PostedFile.InputStream);

このコードには何も問題はありません。

4

4 に答える 4

2

場合によってBitmapは、シーク可能なストリームが必要です。試す:

Bitmap image;
using(var ms = new MemoryStream()) {
    fileUpload1.PostedFile.InputStream.CopyTo(ms);
    ms.Position = 0;
    image = new System.Drawing.Bitmap(ms);
}

でも。また、これはASP.NETのように見えることにも注意する必要があります。ASP.NETSystem.Drawing ではサポートされていません:ここを参照してください

System.Drawing名前空間内のクラスは、WindowsまたはASP.NETサービス内での使用はサポートされていません。これらのアプリケーションタイプのいずれかからこれらのクラスを使用しようとすると、サービスパフォーマンスの低下や実行時の例外など、予期しない問題が発生する可能性があります。サポートされている代替方法については、WindowsImagingComponentsを参照してください。

于 2013-02-07T09:40:07.653 に答える
0

また、ファイルが存在するときにその無効なパラメーターを取得することがありますが、その場所にはありません。相対パスを使用していたときに同様の問題が発生しましたが、画像ファイルを bin ディレクトリにコピーするように設定するのを忘れたため、同じエラーが発生しました。参考までに

于 2015-06-18T20:21:06.810 に答える