首页数据库数据库能存图片吗,SQL数据库中能存照片吗

数据库能存图片吗,SQL数据库中能存照片吗

编程之家2023-10-17119次浏览

各位老铁们,大家好,今天由我来为大家分享数据库能存图片吗,以及SQL数据库中能存照片吗的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

数据库能存图片吗,SQL数据库中能存照片吗

图片如何存入数据库

通常对用户上传的图片需要保存到数据库中。解决方法一般有两种:一种是将图片保存的路径存储到数据库;另一种是将图片以二进制数据流的形式直接写入数据库字段中。以下为具体方法:

一、保存图片的上传路径到数据库:

string uppath="";//用于保存图片上传路径

//获取上传图片的文件名

string fileFullname= this.FileUpload1.FileName;

//获取图片上传的时间,以时间作为图片的名字可以防止图片重名

数据库能存图片吗,SQL数据库中能存照片吗

string dataName= DateTime.Now.ToString("yyyyMMddhhmmss");

//获取图片的文件名(不含扩展名)

string fileName= fileFullname.Substring(fileFullname.LastIndexOf("\\")+ 1);

//获取图片扩展名

string type= fileFullname.Substring(fileFullname.LastIndexOf(".")+ 1);

//判断是否为要求的格式

数据库能存图片吗,SQL数据库中能存照片吗

if(type=="bmp"|| type=="jpg"|| type=="jpeg"|| type=="gif"|| type=="JPG"|| type=="JPEG"|| type=="BMP"|| type=="GIF")

{

//将图片上传到指定路径的文件夹

this.FileUpload1.SaveAs(Server.MapPath("~/upload")+"\\"+ dataName+"."+ type);

//将路径保存到变量,将该变量的值保存到数据库相应字段即可

uppath="~/upload/"+ dataName+"."+ type;

}

二、将图片以二进制数据流直接保存到数据库:

引用如下命名空间:

using System.Drawing;

using System.IO;

using System.Data.SqlClient;

设计数据库时,表中相应的字段类型为iamge

保存:

//图片路径

string strPath= this.FileUpload1.PostedFile.FileName.ToString();

//读取图片

FileStream fs= new System.IO.FileStream(strPath, FileMode.Open, FileAccess.Read);

BinaryReader br= new BinaryReader(fs);

byte[] photo= br.ReadBytes((int)fs.Length);

br.Close();

fs.Close();

//存入

SqlConnection myConn= new SqlConnection("Data Source=.;Initial Catalog=stumanage;User ID=sa;Password=123");

string strComm=" INSERT INTO stuInfo(stuid,stuimage) VALUES(107,@photoBinary)";//操作数据库语句根据需要修改

SqlCommand myComm= new SqlCommand(strComm, myConn);

myComm.Parameters.Add("@photoBinary", SqlDbType.Binary, photo.Length);

myComm.Parameters["@photoBinary"].Value= photo;

myConn.Open();

if(myComm.ExecuteNonQuery()> 0)

{

this.Label1.Text="ok";

}

myConn.Close();

读取:

...连接数据库字符串省略

mycon.Open();

SqlCommand command= new

SqlCommand("select stuimage from stuInfo where stuid=107", mycon);//查询语句根据需要修改

byte[] image=(byte[])command.ExecuteScalar();

//指定从数据库读取出来的图片的保存路径及名字

string strPath="~/Upload/zhangsan.JPG";

string strPhotoPath= Server.MapPath(strPath);

//按上面的路径与名字保存图片文件

BinaryWriter bw= new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate));

bw.Write(image);

bw.Close();

//显示图片

this.Image1.ImageUrl= strPath;

采用俩种方式可以根据实际需求灵活选择。

SQL数据库中能存照片吗

数据中可以存储图片,但是需要注意不能直接存储图片,而是转换成二进制或者Base64等的“文本”来存储,在用的时候,可以再转换回来。

在网站开发中,一般将图片存储在文件系统中,而不是数据系统中,数据库系统中只记录图片在文件系统中的路径而已。

拓展资料:

SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。

百度百科_SQL数据库

为什么数据库不能存储图片文件

用vchar存是可以的。但是首先对数据库的读/写的速度永远都赶不上文件系统处理的速度,其次数据库备份变的巨大,越来越耗时间,最后对文件的访问需要穿越你的应用层和数据库层。图片是数据库最大的杀手。还是存放一个url然后在调用吧!

反正图片,文件,二进制数这三样东西永远别存数据库。

mysql数据库可以存图片吗

mysql数据库是可以存储图片的,操作方法:

1、具体的脚本代码如下,其中我们假定文件上传域的名称为Picture;

2、这样,我们就可以成功的把图片保存到数据库中。如果在将图片插入MySQL的过程中出现问题,可以检查一下MySQL数据库所允许的最大数据包的大小。如果设置值过小的话,我们会在数据库的错误日志中找到相应的记录;

3、提取图片方法:编写两个文件。其中,第一个文件作为HTML页面的模板,定位图片的显示位置。第二个文件则被用来从数据库中实际输出文件流,作为<IMG>标签的SRC属性;

4、当HTML页面被浏览时,每显示一副图片就会调用一次Second.php3文件。当第二个文件被调用时会传入相应的Picture ID,我们可以借此从数据库中取回对应的图片并显示。

OK,本文到此结束,希望对大家有所帮助。

花样的年华 电视剧(电视剧《花样的年华》的主题曲是什么)电脑主机游戏配置(主机玩游戏什么配置好)