压缩图像asp.net

时间:2014-03-27 07:25:35

标签: asp.net image compression

我是asp.net的新手。我现在有问题。我需要在存储到我的数据库之前压缩我的图像。我在Google上搜索很多时间。

但是大部分教程都指导我需要在存储到数据库之前调整宽度和高度。所以我的问题是,在存储到数据库之前,可以在没有调整宽度和高度的情况下压缩图像。请指导我的解决方案。

例如http://compressnow.com/

1 个答案:

答案 0 :(得分:0)

您可能想要使用GZIP

byte[] fileBytes = File.ReadAllBytes(FilePath);
byte[] compressedFileBytes = Compress(fileBytes); //compress
byte[] decompressedFileBytes = Decompress(compressedFileBytes); //decompress

byte[] Compress(byte[] b)
{
    using (MemoryStream ms = new MemoryStream())
    {
        using (GZipStream z = new GZipStream(ms, CompressionMode.Compress, true))
            z.Write(b, 0, b.Length);
        return ms.ToArray();
   }
}
byte[] Decompress(byte[] b)
{
    using (var ms = new MemoryStream())
    {
        using (var bs = new MemoryStream(b))
        using (var z = new GZipStream(bs, CompressionMode.Decompress))
            z.CopyTo(ms);
        return ms.ToArray();
    }
}
相关问题