У меня VS. 2008, .NET 3.5 предназначенное приложение MVC.NET. Я занимаюсь разработкой на Windows 7 с ее IIS, но развертывание в среде Windows Server 2003 с установленным .NET 3.5 SP1.
У нас есть действие масштабирования изображения, которое возвращает изображение из базы данных в требуемом разрешении и конвертирует в PNG на лету с API-интерфейсами System.Drawing и System.Drawing.Imaging.
Размер изображения, предоставляемого через развернутый сайт, в два раза меньше размера / качества того, который находится в разработке. Исходное изображение идентично, но запрос через развернутый сайт приводит к PNG 6,35 кбайт 154x200, но при разработке это приводит к PNG 12,28 кбайт 154x200.
Мое подозрение, есть ли какая-то разница в .NET graphics lib на 3.5 SP1 на сервере Windows? Мое приложение явно предназначено для среды выполнения .NET 3.5.
Image image = Image.FromStream(new MemoryStream(document.content));
MemoryStream memStream = new MemoryStream();
Bitmap bmp = new Bitmap(image, (int)width, (int)height);
ImageFormat format = ImageFormat.Png;
string mimeType = document.mimeType;
if(document.mimeType == "image/png")
; // format = ImageFormat.Png;
else if (document.mimeType == "image/jpeg")
format = ImageFormat.Jpeg;
else if (document.mimeType == "image/gif")
format = ImageFormat.Gif;
else if (document.mimeType == "image/tiff")
{
format = ImageFormat.Png; // convert tiff to png
mimeType = "image/png";
}
bmp.Save(memStream, format);
Заголовки HTTP:
Разработка:
Cache-Control приватный
Content-Type image / png
Сервер Microsoft-IIS / 7.5
X-AspNetMvc-версия 2.0
X-AspNet-версия 2.0.50727
X-Powered-By ASP.NET
Дата Пт, 05 марта 2010 19:59:50 GMT
Контент-длина 12574
Производство:
Дата пт, 05 марта 2010 20:02:58 GMT
Сервер Microsoft-IIS / 6.0
X-Powered-By ASP.NET
X-AspNet-версия 2.0.50727
X-AspNetMvc-версия 2.0
Cache-Control приватный
Content-Type image / png
Контент-длина 6514