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 命名空间文档:

不支持在 Windows 或 ASP.NET 服务中使用 System.Drawing 命名空间中的类。尝试从这些应用程序类型之一中使用这些类可能会产生意想不到的问题,例如服务性能下降和运行时异常。有关受支持的替代方法,请参阅 Windows 映像组件。

您似乎遇到了不支持它的原因之一。

这是一篇详细的文章,解释了这些问题的来龙去脉。

除了MSDN 警告中提到的Windows 映像组件外,此问题中还提到了其他选择。

于 2012-09-04T19:55:42.070 回答