日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

怎么把图片存在mysql_如何把图片存储在mysql中

發布時間:2023/12/14 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 怎么把图片存在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;

采用這兩種方式可以根據實際需求靈活選擇。

總結

以上是生活随笔為你收集整理的怎么把图片存在mysql_如何把图片存储在mysql中的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。