当前位置:首页 » 数据仓库 » c存储图片到数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c存储图片到数据库

发布时间: 2023-03-27 22:54:14

① 图片如何存储数据库当中

头条的文件就存在数据库,可能他们取出来就是二进制吧,播放器可以解码

② C#winform 中上传图片保存到数据库中

就是2中方法:
1:上传图片的相对路径到数据库中相应字段里,读取显示时,将控件(假设用的是Image控件)的ImageUrl属性指向该相对路径即可。

2:将图片以二进制流的方式整体上传到数据库里,读取显示时,以二进制流的方式整体读出。这种方法稍微麻烦一点,但保存的是图片整体到数据库里。

③ 如何将图片存到数据库中

保存图片到数据库中,有两种方法:
1、一种是用大对象,即blob型,对c#不了解,但是java、c++中都有专门操作blob的对象,应该是以二进制流的方式走的。但是不建议采用这样的管理方式,会加重数据库、程序负担,即使是手机开发也是如此。
2、图片保存在本地,数据库中用字符串存储地址,这样的方式比较好,也较易实现。但是缺乏安全性,把图片重命名就行了,改个后缀,一般人就不会打开。还是不放心,用二进制加密下就好,这样的程序代价仍然要比存在数据库大对象中要好。

④ C# 如何将 图片直接存入sql数据库中


//把文件转成二进制流出入数据库
privatevoidbutton2_Click(objectsender,EventArgse)
{
FileStreamfs=newFileStream(textBox1.Text,FileMode.Open);
BinaryReaderbr=newBinaryReader(fs);
Byte[]byData=br.ReadBytes((int)fs.Length);
fs.Close();
拿蚂锋stringconn="server=.;database=testDB;Uid=sa;Pwd=sa";
SqlConnectionmyconn=newSqlConnection(conn);
myconn.Open();
stringstr="insertintopro_table(pro_name,pro_file)values('测试文件',@file)";
SqlCommandmycomm=newSqlCommand(str,myconn);
mycomm.Parameters.Add("@file",SqlDbType.Binary,byData.Length);
mycomm.Parameters["@file"].Value=byData;
mycomm.ExecuteNonQuery();
myconn.Close();
}

//从数据库中把二进制流读出写入还原成文件
privatevoidbutton4_Click(objectsender,EventArgse)
{
stringconn="server=.;database=testDB;Uid=sa;Pwd=sa";
stringstr="selectpro_filefrompro_tablewherepro_name='测试文件'";
SqlConnectionmyconn=newSqlConnection(conn);
物此SqlDataAdaptersda=newSqlDataAdapter(str,conn);
DataSetmyds=newDataSet();
myconn.Open();
sda.Fill(myds);
myconn.Close();
Byte[]Files=(Byte[])myds.Tables[0].Rows[0]["pro_file"];
BinaryWriterbw=newBinaryWriter(File.Open("D:\2.rdlc",FileMode.OpenOrCreate));
bw.Write(Files);
bw.Close();

消晌}

⑤ vc怎么把图片读入SQL数据库啊

比较复杂,看我的笔记。
根本方法是定义图片VARIANT变量,其类型为VT_ARRAY|VT_UI1。此时VARIANT的物裤首值为SAFEARRAY.将图片载入SAFEARRAY中。便可以存入图片了。可以存储任何格式 的图片;
void CDataBase16Dlg::OnBnClickedAddNew()
{

CString filepath;
CFileDialog filedialog(TRUE);
if(filedialog.DoModal()==IDOK)
{
filepath=filedialog.GetPathName();

}
CFile file;
file.Open(filepath,CFile::modeRead);
SAFEARRAY *psa; //SAFEARRAY是variant变量的参数之一。
SAFEARRAYBOUND bound[1]; //SAFEARRAYBOUND为SAFEARRAY结构成员之一。
bound[0].lLbound=0; //代表数组起始索引,一般为 0;
bound[0].cElements=file.GetLength(); //代表元素个数,即图片的大小。以字节为单位
psa=SafeArrayCreate(VT_UI1,1,bound); //创建SAFEARRAY,中间参数代表创建的是一个一维数组;

BYTE *filebuffer=new BYTE[file.GetLength()+1];
file.Read(filebuffer,file.GetLength()); //将图片文件读入内存。
for(long index=0;index<file.GetLength();index++)
SafeArrayPutElement(psa,&index,&filebuffer[index]); //将图片的每一字节放入SAFEAWWAY中。

VARIANT vt;
vt.vt = VT_ARRAY|VT_UI1;
vt.parray=psa;

m_recordset->GetFields()->GetItem(_variant_t("肖像"纯团))->AppendChunk(vt);//添加图片。
m_recordset->Update();
}

至于读取,你没问我也就不答了,比较长罩数。

⑥ 图片如何存入数据库

1、新建一个数据库,数据库名为Image,表名为image。并为表添加ID,tupian两个列。

⑦ 在C#中如何将一张图片存入数据库中

LZ,你想将图片保存到数据库中,有2中方法
1:
最简单的,存图片地址,asp.net
中是
~\图片目录
2:
将整张图片保存到数据库中(冲氏码将图片的副本保留到核高数据库),楼上的几个也说了,方法是可行的,但我就不知道
以散哪流的方式读取后,能否还原图片,在MSsql
中没试过,但在Oracle
中,有Blog和Clog(应该没记错),可以保存任何数据(任何文件都可以保存),你试试

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

this.pictureBox1.Image
=
Image.FromStream(this.openFileDialog1.OpenFile());
//获取当前图片的路径
string
path
=
openFileDialog1.FileName.ToString();
//将制定路径的图片添加到FileStream类中
FileStream
fs
=
new
FileStream(path,
FileMode.Open,
FileAccess.Read);
//通过FileStream对象实例化BinaryReader对象
BinaryReader
br
=
new
BinaryReader(fs);
//通过BinaryReader类对象的ReadBytes()方法将FileStream类对象转化为二进制数组
byte[]
imgBytesIn
=
br.ReadBytes(Convert.ToInt32(fs.Length));第二步:
//将图片添加到数据库中
string
sql="insert
into
pic
values(@pic)";
SqlParameter[]
param
=
new
SqlParameter[]
{
new
SqlParameter("@pic",
imgBytesIn)
};
DBHelper.GetExecuteQuery(sql,
param);第三步:
//将图片从数据库中取出
string
sql="select
*
from
pic
where
id=0";
SqlDataReader
reader
=
DBHelper.GetExecuteReader(sql,
null);
MemoryStream
mss
=
null;

⑨ c#如何将图片保存到mysql数据库,再读取出来

直接将图片以二进制流的方式写入到mysql数据库中,由于数据量大,必然会导致服务器的数据库负载很大

我的建议:采取将图片存储在物理磁盘将相对路径存储在数据库中这样会减小数据库负载

附上 "上传图片" 代码:

///<summary>
///上传图片
///</summary>
升森巧///<paramname="files">文件框名称</param>
///<paramname="paths">上传文件路径,url</param>
///<paramname="fmax">文件的最大值,单位为字节</param>
///<paramname="ftype">类型:1表示图片;0表示所有文件</param>
春冲///<returns></returns>
publicstaticstringupfiles(System.Web.UI.HtmlControls.HtmlInputFilefiles,stringpaths,longfmax,stringftype)
{

//files文件上传组件的名称;paths要上传到的目录;fmax是上传文件最大值;ftype是上传文件的类型
//默认上传文件最大值100k,文件类型为所有文件
//1为图片jpgorgif;0为所有文件
//如果文件大于设定值,返回代码0
//如果文件类型错误,返回代码1
//初始化
longfileMax=100000;
stringfileType="0";
stringfileTypet="";

fileMax=fmax;
fileType=ftype;if(files.PostedFile.ContentLength>fileMax)
吵键{
return"0";
//返回错误代码,结束程序
}

fileTypet=System.IO.Path.GetExtension(files.PostedFile.FileName).ToLower();
if(fileType=="1")
{
if(fileTypet!=".jpg"&&fileTypet!=".jpeg"&&fileTypet!=".gif")
{
return"1";
//返回错误代码,结束程序
}
}
stringdestdir=System.Web.HttpContext.Current.Server.MapPath(paths);
stringfilename=CFun.RandomWord()+fileTypet;
stringdestpath=System.IO.Path.Combine(destdir,filename);

//检查是否有名称重复,如果重复就在前面加从0开始的数字
inti=0;
stringtempfilename=filename;
while(System.IO.File.Exists(destpath))
{
//有重复
tempfilename=i.ToString()+filename;
destpath=System.IO.Path.Combine(destdir,tempfilename);
i=i+1;
}


//没有重复,保存文件
files.PostedFile.SaveAs(destpath);
//返回文件名称
returntempfilename;
}

⑩ 数据库怎么储存图片

数据库存储图片,其实是存储图片在服务器上的路径或图片的绝对地址 。它是一个字符串,所以数据库字段的类型可使用varchar【可变的,长度不超过255】。在前台调用时,需要将路径放置在img标签的src属性中,即可显示图片