把图片存储在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中相关推荐

  1. linux中mysql群集_阅读无群集可用性组中的Scale可用性组

    linux中mysql群集 In this article, we will explore configuring Read Scale Availability Group that does n ...

  2. 远程连接云服务器中的mysql数据库_云服务器远程连接mysql数据库

    首先需要在云服务器上,下载安装好mysql与Navicat. mysql下载好以后,打开云端的开始,找到mysql的命令窗,进入输入自己的mysql密码,稍等片刻进入mysql数据库 进入之后输入下列 ...

  3. linux开启mysql窗口_通过window(Navicat)访问linux中的mysql数据库

    Centos安装Mysql数据库 查看我们的操作系统上是否已经安装了mysql数据库 [root@centos~]# rpm -qa | grep mysql//这个命令就会查看该操作系统上是否已经安 ...

  4. brew下载的mysql卸载_【已解决】Mac中如何彻底卸载之前通过dmg安装的mysql

    折腾: 期间,需要去彻底卸载掉,mac中之前通过dmg安装的mysql mac uninstall mysql dmg➜  ~ ps -ax | grep mysql 28394 ??         ...

  5. 宝塔mysql优化_宝塔面板下实现MySQL性能优化处理

    在PHP+MYSQL架构网站运行过程中,往往会遇到各种性能问题影响,如MySQL.PHP.CPU.磁盘IO.缓存等,其中MySQL瓶颈就是最常见也最难解决的一种影响网站性能的因素:通常,我们会使用re ...

  6. linux mysql怎么样_最强Linux和Mysql面试题套餐,让你的面试无懈可击!

    引言: 大家好,我是一菲,在软件测试当中linux 操作系统和Mysql数据库的内容是十分的知识同时也是十分重要的.所以一菲这两天通过查阅资料等其他方式为大家梳理了liunx和Mysql面试题大礼包, ...

  7. linux设置mysql定时任务_原创 Linux下实现Mysql定时任务备份数据

    本实例将创建目录放置于/mnt目录下,可根据具体情况放置于其他目录: cd /mnt mkdir dbback pwd /mnt/dbback 创建shell脚本 脚本名称可根据自己规范进行自定义: ...

  8. 认识mysql总结_从根上理解Mysql - 读后个人总结1-搜云库

    初识 MySQL 通信介绍 MySQL 也是典型的 C / S 模型,分为客户端及服务端,服务端一般部署在远端服务器中,也可以部署至本地,然后客户端跟服务端通信则可以使用依赖网络的 TCP 长连接或 ...

  9. 如何用c 控制mysql数据库_用C语言操作MySQL数据库

    函数 描述 mysql_affected_rows() 返回上次UPDATE.DELETE或INSERT查询更改/删除/插入的行数. mysql_autocommit() 切换autocommit模式 ...

最新文章

  1. python写入txt文件正常,但是写入csv文件中文乱码问题
  2. Linux下gcov和lcov代码覆盖率分析(C/C++覆盖率在NGINX测试中的应用)
  3. 【AI不惑境】AutoML在深度学习模型设计和优化中有哪些用处?
  4. 22. Generate Parentheses
  5. java swing 禁用鼠标事件_Java学习笔记:swing中树控件,设置树节点的图标,按钮美化,鼠标事件,禁止鼠标双击...
  6. COVID-19 肺炎疫情数据实时监控(python 爬虫 + pyecharts 数据可视化 + wordcloud 词云图)
  7. linux的centos7安装mysql5.7服务教程
  8. 登录 java_登录Java
  9. Spring配置实现AOP
  10. 实测Linux ext3/4文件系统的规模与瓶颈
  11. css 适配mac 字体,CSS:仅在mac上使用字体
  12. 线性系统大作业——1.一阶倒立摆建模与控制系统设计
  13. 牛牛现在有n张扑克牌-字符串
  14. HDU 4093 Xavier is Learning to Count FFT + 容斥原理 2011年上海现场赛C题
  15. 机器学习-手写数字识别系统
  16. 手写英文单词识别(1)
  17. 171230 编程-井字棋(逆)的先手必胜策略
  18. Unity 的用UnityEvent来自定义触发方式
  19. ajax 下载文件 返回blob类型
  20. 远程预付费管理系统在淮安茂业时代广场 项目上的应用

热门文章

  1. java面试题集 代码_java面试题集1.txt 源代码在线查看 - 常见的JAva面试试题 资源下载 虫虫电子下载站...
  2. 鸿蒙系统华为蒋玥8月9号发布,2019华为开发者大会8月9日开启 鸿蒙系统或重磅发布...
  3. tomcat假死排查-数据连接池耗尽
  4. 【选股策略】换手率市值MACD量价(三天齐升)
  5. 强买强卖算是抢劫吗?
  6. R语言:常用数据格式及其操作
  7. 2019交通顶级期刊_2019年顶级开发笑话
  8. Vue(二)vue 指令及用法举例
  9. VulnHub靶机渗透实战9-vikings
  10. zookpeer链接报错Socket is not connected