压缩图片和照片以存储在SQL Server数据库中

时间:2011-03-13 15:30:53

标签: c# sql-server compression image

我想将许多图片保存到SQL Server数据库文件中。如何压缩图片以存储在数据库中?我可以使用哪些技术?

请帮帮我

编辑后: 如何压缩和调整图片大小以存储在Sql Server数据库中?

3 个答案:

答案 0 :(得分:4)

如果图片已经采用jpg和大多数其他格式,则图片压缩不会太多。您可以尝试在发送到SQL Server之前进一步压缩它们,但除非您有BMP,否则它可能不值得。

我建议您查看FILESTREAM将它们存储在SQL Server中(假设SQL Server 2008),这对于此类数据更有效。

答案 1 :(得分:1)

您可以以JPEG格式保存并包含该文件。为此,您可以使用Image.Save method。如果您想设置质量,可以使用Encoder.Compression

您还应确保图像的分辨率不会太高。

答案 2 :(得分:0)

您可以通过将图像转换为字节数组来将图片存储在sql数据库中。您可以使用以下代码执行此操作:

    byte[] ReadFile(string sPath)
    {
        byte[] data = null;
        FileInfo fInfo = new FileInfo(sPath);
        long numBytes = fInfo.Length;
        FileStream fStream = new FileStream(sPath, FileMode.Open, FileAccess.Read);
        BinaryReader br = new BinaryReader(fStream);
        data = br.ReadBytes((int)numBytes);
        return data;
    }