C#怎么将图片保存到SQL数据库

C#怎么将图片保存到SQL数据库,第1张

thispictureBox1Image

=

ImageFromStream(thisopenFileDialog1OpenFile());

//获取当前的路径

string

path

=

openFileDialog1FileNameToString();

//将制定路径的添加到FileStream类中

FileStream

fs

=

new

FileStream(path,

FileModeOpen,

FileAccessRead);

//通过FileStream对象实例化BinaryReader对象

BinaryReader

br

=

new

BinaryReader(fs);

//通过BinaryReader类对象的ReadBytes()方法将FileStream类对象转化为二进制数组

byte[]

imgBytesIn

=

brReadBytes(ConvertToInt32(fsLength));第二步:

//将添加到数据库

string

sql="insert

into

pic

values(@pic)";

SqlParameter[]

param

=

new

SqlParameter[]

{

new

SqlParameter("@pic",

imgBytesIn)

};

DBHelperGetExecuteQuery(sql,

param);第三步:

//将从数据库中取出

string

sql="select

from

pic

where

id=0";

SqlDataReader

reader

=

DBHelperGetExecuteReader(sql,

null);

MemoryStream

mss

=

null;

两种,一种是将转化成二进制数据流存入数据库中。一种是保存的路径,然后前台读取路径去调用。相关的代码百度一下应该会有,第二种方法实现上比较简单,就是存储路径,然后根据路径读取对应的显示出来。第一种就比较麻烦,要先把转化成二进制数据,读取时就是从数据库读取对应数据再转化成显示出来。

建议存路径

下面是上传并保存路径到数据库

显示有很多中方法,如果在gridview里面显示的就如截图这样设置

 protected void Button4_Click(object sender, EventArgs e)

    {

        string FilePath = "";

        if (FileUpload1FileName != "")

        {

            if (FileUpload1PostedFileContentLength <= 0)

            {

                // PublicFunPublicFunctionshowMsg(this, "上传文件为空,请重新选择");

                labmsgText = "上传文件为空,请重新选择";

                return;

            }

            else

            {

            }

            if (FileUpload1HasFile)

            {

                if (FileUpload1PostedFileContentLength > 4196304)

                {

                    // PublicFunPublicFunctionshowMsg(this, "上传文件过大");

                    // return;

                }

                else

                {

                    // FilePath = ServerMapPath("~/Download/Dload1");//服务器文件路径

                }

                FilePath = ServerMapPath("~/DownLoad/SignImg");//服务器文件路径

                FileLoadFunUpLoad(FilePath, FileUpload1, DropDownList2SelectedValue);

                UploadURL = "~/DownLoad/SignImg/" + DropDownList2SelectedValue + "_" + FileUpload1FileName;

                UploadURL2 = UploadURL;

                sql = " update yp_insproom_base_t set SignURL='" + UploadURL2 + "' " +

                      " where UserID='" + DropDownList2SelectedValue + "' ";

                MySqlHelperExecuteNonQuery(PublicFunPublicFunctionGetDBconstr("ce_manage_db"), sql);

                labmsgText = "上传成功";

                databind();

            }

        }

        else

        {

            // PublicFunPublicFunctionshowMsg(this, "上传文件路径错误");

            labmsgText = "上传文件路径错误";

            return;

        }

    }

一般没有人这么做的,因为文件一般都比较大。试想一下你的一个大小为20KB,你有5000张这样的,那你的要消耗的就是100MB,而存放到数据库的大小肯定超过100MB,而且数据库对的提取对系统的消耗是很大的。

建议的做法是用一个字符串存储的路径,当然你还可以通天其他字段写上的大小啊什么的属性。如:表名为image img_id int(8) unsigned;img_dir varchar(100);img_weight float(6);img_height float(6);这样你就可以通过查询这几个字符串从而得到了。

如果你非要用数据库保存的话,mysql好像也确实提供了可以存储的格式,具体什么去查一下mysql帮助文档吧,我也既不清楚了。

GOOD LUCK!!!

以上就是关于C#怎么将图片保存到SQL数据库全部的内容,包括:C#怎么将图片保存到SQL数据库、如何往数据库中存图片、亲啊我怎么把图片存入到数据库呢,然后再显示出来等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9517693.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存