试试这个:
// GetCacheFileName -> Returns the full path of the "cached" image
// CreateImage -> Used to create a new image if necessary
string cacheFile = GetCacheFileName(param1, param2, param3, param4);
if (!File.Exists(cacheFile))
{
Image cacheImage = CreateImage(param1, param2, param3, param4);
cacheImage.Save(cacheFile, ImageFormat.Jpeg);
}
Response.ContentType = "image/jpeg";
Response.TransmitFile(cacheFile);
这里需要注意的两件事是:
-
告诉框架将图像保存为jpeg
-
将文件保存到磁盘,并使用response.transmitfile而不是response.write file或response.outputstream.write