0

にビットマップを書き込もうとしているだけですResponse.OutputStream。ここに私が持っているものがあります:

System.Drawing.Bitmap outputImage = 
    System.Drawing.Image.FromHbitmap(psd.GetHBitmap());            
Response.Clear();
Response.ContentType = "image/bmp";
Response.Flush();

// error occurs here
outputImage.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Bmp);

outputImage.Dispose();
Response.End();

誰が問題が何であるか知っていますか?

4

2 に答える 2

0

ASP.NET 環境で発生した GDI エラーの多くは、フォルダー/ファイルのアクセス許可の問題に対処していますが、ここでは当てはまらない場合があります。ワーカー プロセスには元のファイルへの読み取りアクセス権がありますか? WP がアクセスできないフォルダに一時ファイルを書き込んでいますか?

于 2012-09-04T19:59:24.497 に答える
0

MSDNのSystem.Drawing 名前空間のドキュメントから:

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

サポートされていない理由の 1 つに当てはまっているようです。

ここでは、問題の内外を説明する詳細な記事を示します。

MSDN の警告に記載されているWindows Imaging Componentsとは別に、この質問に記載されている代替手段があります。

于 2012-09-04T19:55:42.070 に答える