2 yhkqwkz446 yhkqwkz446 于 2016.01.25 13:35 提问

关于以二进制形式保存图片到数据库

图片说明

如图,现在要实现这样的功能:点击"打开图片",能获取到一张本地图片的二进制数据,将该数据保存在一个变量里面,然后点击"录入"按钮,图片的二进制码就会被传入到数据库中某张表里,请问怎么实现?

4个回答

rui888
rui888   Ds   Rxr 2016.01.25 13:39
已采纳

你的流程说的很清楚啊,接下来就是调用api' ,写方法啊。

http://www.sufeinet.com/thread-1261-1-1.html

yhkqwkz446
yhkqwkz446 回复无法显示此用户: 多谢,一语惊醒梦中人,采纳你了
接近 2 年之前 回复
rui888
rui888 回复yhkqwkz446: 你数据库字段设置什么类型的呢,调试看看,只要你传人的是二进制数据机子段也是二进制就可以。
接近 2 年之前 回复
yhkqwkz446
yhkqwkz446 为什么 我录入到数据库中的图片值是System.Drawing.Bitmap?
接近 2 年之前 回复
rui888
rui888 回复yhkqwkz446: 你把二进制文件限存起来,你点录入则把数据写入到数据库。
接近 2 年之前 回复
yhkqwkz446
yhkqwkz446 但是在录入按钮中怎么获取"打开图片"里面的图片二进制代码??说白了就是怎么将二进制数据传到"录入"按钮里面
接近 2 年之前 回复
enpterexpress
enpterexpress   2016.01.25 13:43
91program
91program   Ds   Rxr 2016.01.25 14:24

打开图片文件,读取其全部的文件内容,写入数据库。这个过程,如果需要具体的操作,必须要知道是什么数据库吧。

jianuo0670
jianuo0670   2016.01.25 14:55
    byte[] data = null;
          private void btnOpenImage_Click(object sender, EventArgs e)
    {
        OpenFileDialog openFi = new OpenFileDialog();
        openFi.Filter = "图像文件(JPeg, Gif, Bmp, etc.)|*.jpg;*.jpeg;*.gif;*.bmp;*.tif; *.tiff; *.png| JPeg 图像文件(*.jpg;*.jpeg)"
            + "|*.jpg;*.jpeg |GIF 图像文件(*.gif)|*.gif |BMP图像文件(*.bmp)|*.bmp|Tiff图像文件(*.tif;*.tiff)|*.tif;*.tiff|Png图像文件(*.png)"
            + "| *.png |所有文件(*.*)|*.*";
        if (openFi.ShowDialog() == DialogResult.OK)
        {
            data = GetPictureData(openFi.FileName);//这就是要存的数据
            this.Background = openFi.FileName;
        }
    }

             public byte[] GetPictureData(string imagepath)
    {
        /**/
        ////根据图片文件的路径使用文件流打开,并保存为byte[] 
        FileStream fs = new FileStream(imagepath, FileMode.OpenOrCreate);//可以是其他重载方法 
        byte[] byData = new byte[fs.Length];
        fs.Read(byData, 0, byData.Length);
        fs.Close();
        GC.Collect();
        return byData;
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!