共计 1896 个字符,预计需要花费 5 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章主要介绍了 mysql 数据库能不能存储图片,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让丸趣 TV 小编带着大家一起了解一下。
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下产品。它的功能很强大,其中有些功能大家可能不是很清楚,比如它也是可以存储图片,这一点你知道吗?
在 mysql 存储图片的方法一般有两种:其一,将图片保存的路径存储到数据库;其二,将图片以二进制数据流的形式直接写入数据库字段中。
一、保存图片的上传路径到数据库:
string uppath= // 用于保存图片上传路径
// 获取上传图片的文件名
string fileFullname = this.FileUpload1.FileName;
// 获取图片上传的时间,以时间作为图片的名字可以防止图片重名
string dataName = DateTime.Now.ToString( yyyyMMddhhmmss
// 获取图片的文件名(不含扩展名)string fileName = fileFullname.Substring(fileFullname.LastIndexOf( \\) + 1);
// 获取图片扩展名
string type = fileFullname.Substring(fileFullname.LastIndexOf( .) + 1);
// 判断是否为要求的格式
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();
采用这两种方式可以根据实际需求灵活选择。
感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享 mysql 数据库能不能存储图片内容对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,遇到问题就找丸趣 TV,详细的解决方法等着你来学习!
向 AI 问一下细节
丸趣 TV 网 – 提供最优质的资源集合!
正文完