【问题标题】:How to reduce Image size before uploading to SQL server如何在上传到 SQL Server 之前减小图像大小
【发布时间】:2014-05-02 18:40:20
【问题描述】:

我正在尝试在上传之前减少员工照片。检查了帮助,但所有的答案都非常混乱。我在这里寻求专家的帮助:)

我通过下面的代码打开图片到我的图片框

OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "JPG Files(*.jpg)|*.jpg|GIF Files(*.gif)|*.gif|All Files(*.*)|*.*";
dlg.Title = "Select Employee Picture";
if (dlg.ShowDialog() == DialogResult.OK)
{
Image im = new Bitmap(dlg.FileName);
picEMP.Image = im;
string imgloc = dlg.FileName.ToString();                    
}    

并使用以下代码将图像转换为二进制

byte[] img = null;
FileStream fs = new FileStream(imgloc, FileMode.Open, FileAccess.Read);
                        BinaryReader br = new BinaryReader(fs);
                        img = br.ReadBytes((int)fs.Length);  

最后用参数值上传

command.Parameters.Add(new SqlParameter("@img", img));        

但我没有检查图像大小。我想检查图像大小或分辨率(高度,宽度)并使用固定大小(188,222)减小图像大小,然后将图像上传到我的 sql 服务器。我的 SQL 连接代码如下:

SqlConnection conn = new SqlConnection("Data Source=host; Initial Catalog=TimeAttendance; User ID=id; Password=password"); 

请帮忙.......

【问题讨论】:

  • 您需要使用图形库(例如 .NET 的 GDI+ 库)来操作图像并对其进行缩放等。GDI+
  • 您是想缩小图像的宽度和高度,还是只是想减少存储在 SQL 中的字节数?
  • @RickS 我认为前者:“我想检查图像大小或分辨率(高度,宽度)并使用固定大小(188,222)缩小图像大小”
  • 我想要做的就是减小图像大小,使其对我的数据库的阻塞不超过 50kb。目前,如果我选择 5MB 的图像,它会阻塞相同的空间,因此加载需要很长时间。想要删除图像的大小。

标签: c# sql-server


【解决方案1】:

您是否尝试过将其压缩并压缩。下面的库应该可以很好地解决这个问题。

http://dotnetzip.codeplex.com/

【讨论】:

    猜你喜欢
    • 2021-08-19
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多