php将图片存在mysql中_如何把图片存储在mysql中
把图片存储在mysql中的方法:1、获取需要保存的图片;2、将图片上传到指定路径下的文件夹中;3、将路径保存到变量,并将变量的值保存到数据库中的相应字段即可。
具体方法一般有两种:
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;
采用这两种方式可以根据实际需求灵活选择。
php将图片存在mysql中_如何把图片存储在mysql中相关推荐
- linux中mysql群集_阅读无群集可用性组中的Scale可用性组
linux中mysql群集 In this article, we will explore configuring Read Scale Availability Group that does n ...
- 远程连接云服务器中的mysql数据库_云服务器远程连接mysql数据库
首先需要在云服务器上,下载安装好mysql与Navicat. mysql下载好以后,打开云端的开始,找到mysql的命令窗,进入输入自己的mysql密码,稍等片刻进入mysql数据库 进入之后输入下列 ...
- linux开启mysql窗口_通过window(Navicat)访问linux中的mysql数据库
Centos安装Mysql数据库 查看我们的操作系统上是否已经安装了mysql数据库 [root@centos~]# rpm -qa | grep mysql//这个命令就会查看该操作系统上是否已经安 ...
- brew下载的mysql卸载_【已解决】Mac中如何彻底卸载之前通过dmg安装的mysql
折腾: 期间,需要去彻底卸载掉,mac中之前通过dmg安装的mysql mac uninstall mysql dmg➜ ~ ps -ax | grep mysql 28394 ?? ...
- 宝塔mysql优化_宝塔面板下实现MySQL性能优化处理
在PHP+MYSQL架构网站运行过程中,往往会遇到各种性能问题影响,如MySQL.PHP.CPU.磁盘IO.缓存等,其中MySQL瓶颈就是最常见也最难解决的一种影响网站性能的因素:通常,我们会使用re ...
- linux mysql怎么样_最强Linux和Mysql面试题套餐,让你的面试无懈可击!
引言: 大家好,我是一菲,在软件测试当中linux 操作系统和Mysql数据库的内容是十分的知识同时也是十分重要的.所以一菲这两天通过查阅资料等其他方式为大家梳理了liunx和Mysql面试题大礼包, ...
- linux设置mysql定时任务_原创 Linux下实现Mysql定时任务备份数据
本实例将创建目录放置于/mnt目录下,可根据具体情况放置于其他目录: cd /mnt mkdir dbback pwd /mnt/dbback 创建shell脚本 脚本名称可根据自己规范进行自定义: ...
- 认识mysql总结_从根上理解Mysql - 读后个人总结1-搜云库
初识 MySQL 通信介绍 MySQL 也是典型的 C / S 模型,分为客户端及服务端,服务端一般部署在远端服务器中,也可以部署至本地,然后客户端跟服务端通信则可以使用依赖网络的 TCP 长连接或 ...
- 如何用c 控制mysql数据库_用C语言操作MySQL数据库
函数 描述 mysql_affected_rows() 返回上次UPDATE.DELETE或INSERT查询更改/删除/插入的行数. mysql_autocommit() 切换autocommit模式 ...
最新文章
- python写入txt文件正常,但是写入csv文件中文乱码问题
- Linux下gcov和lcov代码覆盖率分析(C/C++覆盖率在NGINX测试中的应用)
- 【AI不惑境】AutoML在深度学习模型设计和优化中有哪些用处?
- 22. Generate Parentheses
- java swing 禁用鼠标事件_Java学习笔记:swing中树控件,设置树节点的图标,按钮美化,鼠标事件,禁止鼠标双击...
- COVID-19 肺炎疫情数据实时监控(python 爬虫 + pyecharts 数据可视化 + wordcloud 词云图)
- linux的centos7安装mysql5.7服务教程
- 登录 java_登录Java
- Spring配置实现AOP
- 实测Linux ext3/4文件系统的规模与瓶颈
- css 适配mac 字体,CSS:仅在mac上使用字体
- 线性系统大作业——1.一阶倒立摆建模与控制系统设计
- 牛牛现在有n张扑克牌-字符串
- HDU 4093 Xavier is Learning to Count FFT + 容斥原理 2011年上海现场赛C题
- 机器学习-手写数字识别系统
- 手写英文单词识别(1)
- 171230 编程-井字棋(逆)的先手必胜策略
- Unity 的用UnityEvent来自定义触发方式
- ajax 下载文件 返回blob类型
- 远程预付费管理系统在淮安茂业时代广场 项目上的应用
热门文章
- java面试题集 代码_java面试题集1.txt 源代码在线查看 - 常见的JAva面试试题 资源下载 虫虫电子下载站...
- 鸿蒙系统华为蒋玥8月9号发布,2019华为开发者大会8月9日开启 鸿蒙系统或重磅发布...
- tomcat假死排查-数据连接池耗尽
- 【选股策略】换手率市值MACD量价(三天齐升)
- 强买强卖算是抢劫吗?
- R语言:常用数据格式及其操作
- 2019交通顶级期刊_2019年顶级开发笑话
- Vue(二)vue 指令及用法举例
- VulnHub靶机渗透实战9-vikings
- zookpeer链接报错Socket is not connected