我将图像存储在数据库中,在存储它们之前,我正在调整它们的大小。
但是,调整大小不会压缩图像。流是相同的流。我也希望能够压缩图像。
如何压缩以流形式存储在数据库中并返回到请求的图像,如下所示?
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 对象。