我将图像存储在数据库中,在我存储它们之前,我正在调整它们的大小。从流中压缩图像
但是,调整大小,不压缩图像。流是同一个流。我希望能够压缩图像。
如何压缩存储在数据库中的图像作为流并返回请求,如下所示?
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对象。
可能需要显示*不工作*的调整大小代码? – yamen
resizin正在工作,但它保持相同的字节[],所以它不压缩。只是使图像变小。想看它? – DarthVader
是的,这就是问题最可能发生的地方。 – yamen