Я загружаю изображение пользователя в веб-приложение mvc2.Пользователь может загрузить изображение любого размера, например, 10 МБ или более.Загруженные изображения сохраняются в базе данных AS IMAGE
тип данных.Но перед сохранением в базе данных я хочу уменьшить ее размер до 4 МБ .Как мне это сделать?
Я уменьшил размер байтов изображения с помощью следующего кода:
if (file.ContentLength > 0)
{
//Create byte Array with file len
var imgByte = new Byte[file.ContentLength];
//force the control to load data in array
file.InputStream.Read(imgByte, 0, file.ContentLength);
System.IO.MemoryStream newImageStream =
new System.IO.MemoryStream(imgByte, 0, imgByte.Length);
Image image = Image.FromStream(newImageStream, true);
Bitmap resized = new Bitmap(image, new Size(800,600));
System.IO.MemoryStream stream = new System.IO.MemoryStream();
resized.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
var imgBytes = new Byte[stream.Length];
customParentalHealthUser.ImageBytes = imgBytes;
stream.Close();
stream.Dispose();
resized.Dispose();
}
Но при отображении изображения изображения не отображаются, даже еслиуменьшенный размер хранится в БД.Я думаю, что при уменьшении размера изображение становится поврежденным или иначе.
Пожалуйста, предложите?
Спасибо