Home > Database > Mysql Tutorial > Can mysql store images?

Can mysql store images?

little bottle
Release: 2020-09-15 13:34:55
Original
42134 people have browsed it

mysql可以存储图片,并且有两种存储方法,分别是:1、将图片保存的路径存储到数据库;2、将图片以二进制数据流的形式直接写入数据库字段中。

Can mysql store images?

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;
  }
Copy after login

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

  引用如下命名空间:

using System.Drawing;
  using System.IO;
  using System.Data.SqlClient;
Copy after login

  设计数据库时,表中相应的字段类型为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();  
Copy after login

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

The above is the detailed content of Can mysql store images?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template