画像をデータベースに保存しています。保存する前に、サイズを変更しています。
ただし、サイズを変更しても画像は圧縮されません。ストリームは同じストリームです。画像も圧縮できるようにしたいです。
データベースにストリームとして保存され、次のようにリクエストに返される画像を圧縮するにはどうすればよいですか?
public ActionResult ViewImage(int id, string imageType ="image")
{
ContestImage contestImage = GetContestImage(id);
byte[] fileContent;
string mimeType;
string fileName;
if (imageType == "thumb")
{
fileContent = contestImage.ThumbNail.Image;
mimeType = contestImage.ThumbNail.ImageMimeType;
fileName = contestImage.ThumbNail.ImageFileName;
}
else if (imageType == "image")
{
fileContent = contestImage.Image.Image;
mimeType = contestImage.Image.ImageMimeType;
fileName = contestImage.Image.ImageFileName;
}
return File(fileContent, mimeType, fileName);
}
public class UserImage
{
public virtual int Id { set; get; }
public virtual byte[] Image { set; get; }
public virtual string ImageMimeType { set; get; }
public virtual string ImageFileName { set; get; }
}
ContestImage には UserImage オブジェクトがあります。