将图片储存在MySQL数据库中的几种方法
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,通常对用户上传的图片需要保存到数据库中。解决方法一般有两种:1、将图片保存的路径存储到数据库;2、将图片以二进制数据流的形式直接写入数据库字段中。以下为具体方法:一、保存图片的上传路径到数据库:str
千家信息网最后更新 2025年01月20日将图片储存在MySQL数据库中的几种方法
通常对用户上传的图片需要保存到数据库中。
解决方法一般有两种:
1、将图片保存的路径存储到数据库;
2、将图片以二进制数据流的形式直接写入数据库字段中。
以下为具体方法:
一、保存图片的上传路径到数据库:
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(); 读取: ...连接数据库字符串省略 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; //采用这两种方式可以根据实际需求灵活选择。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
图片
数据
数据库
路径
文件
内容
名字
字段
方法
二进制
变量
扩展名
数据流
文件名
时间
语句
学习
价值
字符
字符串
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
政法系统软件开发企业
怎么做网络安全海报
网络安全年报模板
软件开发没有保密资质可以做吗
路透 数据库
长岛游戏软件开发公司
文山服务器云存储经销商
fifa22 fut数据库
崇明区企业数据库研发价格大全
软件开发 税负率
关于大学生电脑网络安全的新闻
山西oa软件开发来电咨询
数据库组成原理实验实验报告
全民奇迹全服通用服务器
软件开发的语言有哪些问题
邮件服务器 安全性
山东质量好的浪潮服务器哪家好
计算机网络技术专业c语言学习
电脑网络安全防护怎么开启
vb怎么删除数据库
成都 软件开发 桌面
医院网络安全责任状
大学生网络安全教育人民网
pc阿门罗服务器
软件开发没有前途吗
江苏服务器厂家虚拟主机
山东质量好的浪潮服务器哪家好
怎么将文档弄到数据库
环保软件开发
dell服务器阵列卡配置