當前位置:首頁 » 服務存儲 » mysql能否存儲圖片和文件
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mysql能否存儲圖片和文件

發布時間: 2023-05-30 15:01:06

1. mysql里怎麼存放圖片

你好,很高興回答你的問題。
一般有兩種方式,
一種是將圖片序列化後,將序列化的結果存入資料庫中。使用時在讀出進行反序列化。
另一種是將文件存放到一個位置,將存放的路徑存入資料庫。使用時按照路徑獲取圖片。
如果有幫助到你,請點擊採納。

2. 如何將圖片儲存在MySQL資料庫中

1 圖片文件 存儲在磁碟 資料庫存儲磁碟的路徑(字元串).
2 把圖片文件序列化轉成一個字元串 存儲。
3 直接把圖片文件存儲到 大二進制欄位裡面。

3. 請問在mysql中怎麼存儲圖片呢

我一般是保存圖片地址,查詢資料庫獲得圖片在硬碟的位置,通過其他方式顯示圖片

相對路徑就不太清楚了,您可以試試設置環境變數,或者%HOME%之類的代碼

4. 如何將圖片儲存在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;
採用這兩種方式可以根據實際需求靈活選擇。

5. 小技巧:怎樣在 Mysql 中直接儲存圖片

如果你想把二進制的數據 比如說圖片文件和HTML文件 直接保存在你的MySQL資料庫 那麼這篇文章就是為你而寫的! 我將告訴你怎樣通過HTML表單來儲存這些文件 怎樣訪問和使用這些文件 本文嘩燃概述 在mysql中建立一個新的資料庫 一個怎樣儲存文件的例子程序 一個怎樣訪問文件的例子程序 在mysql中建立一個新的database 首先 你必須在你的mysql中建立一個新的資料庫 我們將會把那些二進制文件儲存在這個資料庫里 在例子中我會使用下列結構 為了建立資料庫 你必須做下列步驟 進入MySql控制器 輸入命令 create database binary_data; 輸入命令 use binary_data; 輸入命令 CREATE TABLE binary_data ( id INT( ) NOT NULL AUTO_INCREMENT PRIMARY KEY description CHAR( ) bin_data LONGBLOB filename CHAR( ) filesize CHAR( ) filetype CHAR( )); (不能斷行) 如果沒有意外 資料庫 和 表 應該建立好了 一個怎樣儲存文件的例子程序 用這個例子你可以通過Html表單將文件傳輸到資料庫中 store php ?php // store php by Florian Dittmer > ?> HTML> HEAD>TITLE>Store binary data into SQL Database/TITLE>/HEAD> BODY> ?php // 如果提交了表單 代碼將被執行: if ($submit) { // 連接到資料庫 // (你可能需要調整主機名 用戶名和密碼) MYSQL_CONNECT( localhost root password ); mysql_select_db( binary_data ); $data = addslashes(fread(fopen($form_data r ) filesize($form_data))); $result=MYSQL_QUERY( INSERT INTO binary_data (description bin_data filename filesize filetype) VALUES ( $form_description $data $form_data_name $form_data_size $form_data_type ) ); $id= mysql_insert_id(); print p>This file has the following Database ID: b>$id/b> ; MYSQL_CLOSE(); 亂態虛} else { // 否則顯示儲存新數據的表單 ?> form method= post action= ?php echo $PHP_SELF; ?> enctype= multipart/form data > File Description:br> input type= text name= form_description size= > INPUT TYPE= hidden name= MAX_FILE_SIZE value= > br>File to upload/store in database:br> input type= file name= form_data size= > p>input type= submit name= submit value= submit > /form> ?php } ?> /BODY> /HTML> 如果你執行了這個程序 你將會看見一個簡單的Html表單 單擊 瀏覽 選擇一個文件 然後單擊提交 閉悶當文件上傳至web伺服器之後 程序將會告訴你剛剛上傳的文件的ID 記住這個ID 待會要用的 一個怎樣訪問文件的例子程序 你可以通過這個程序訪問你剛才儲存的文件 ?php // getdata php by Florian Dittmer > // 調用方法: getdata php ?id=id> if($id) { // 你可能需要調整主機名 用戶名和密碼: @MYSQL_CONNECT( localhost root password ); @mysql_select_db( binary_data ); $query = select bin_data filetype from binary_data where id=$id ; $result = @MYSQL_QUERY($query); $data = @MYSQL_RESULT($result bin_data ); $type = @MYSQL_RESULT($result filetype ); Header( Content type: $type ); echo $data; }; ?> 程序必須知道要訪問那個文件 你必須將ID作為一個參數 例如: 一個文件在資料庫中的ID為 你可以這樣調用它: getdata php ?id= 如果你將圖片儲存在資料庫里 你可以向調用圖片一樣調用它 Example: 一個圖片文件在資料庫中的ID為 你可以這樣調用它: img src= getdata php ?id= > 怎樣儲存大於 MB的文件: 如果你想儲存大於 MB的文件 你必須對你的程序 PHP設置 SQL設置進行許多修改 下面幾條也許可以幫助你儲存小於 MB的文件 修改 store php 將 MAX_FILE_SIZE 的值改成 修改你的PHP設置 在一般情況下 PHP只允許小於 MB的文件 你必須將max_filesize(在php ini中)的值改成 去掉MYSQL的數據包大小限制 在一般情況下 MYSQL 小於 MB的數據包 你必須用以下參數重啟你的MYSQL /usr/local/bin/safe_mysqld O key_buffer= M O table_cache= O sort_buffer= M O record_buffer= M O max_allowed_packet= M 如果仍然出錯 可能是超時錯誤 如果你通過一個很慢的連接來儲存一個很大的文件 PHP預設的時間限制為 秒 你可以將max_execution_time(在php ini中)的值改為 lishixin/Article/program/MySQL/201311/29424

6. 資料庫能存圖片嗎

問題一:資料庫怎樣可以將圖片放到裡面 首先肯定一點,資料庫中是可以放圖片數據的!但是這樣的話,數據體積會很龐大,當然最好還是把圖片放到文件夾中,數據只用來存放圖片路徑,不過最好是存放相對路徑,應該以後可能設計到圖片單獨放在另一台伺服器上,或換了文件夾。

問題二:SQL資料庫中能存照片嗎? 圖片完全可以存放,但是在資料庫中不能以select * from a進行查詢
但是在相對應得c#、Java中可以查詢
是以二進制保存的。

資料庫,只要是抽象出來的數據,都可以保存。
而已不能保褲姿存的,就是實體,像處啊、鞋子啊、男朋陵橋友啊都不姓

問題三:mysql資料庫可以存圖片嗎? 可以。存圖片的列需要設置成BLOB、MEDIUMBLOB或LONGBLOB等數據類型。
但是以前基本上不會把圖片直接存在資料庫里,因為資料庫里的數據是為了用來胡汪絕快速分析、快速存取的,圖片數據在mysql里既不能建立索引也不能和其他數據一起分析,存取速度和讀寫磁碟也沒什麼區別,每次備份、導入導出資料庫時還增加了數據量,降低了效率。所以一般都是把圖片存在系統里,然後把圖片的存放路徑放在資料庫里。

問題四:圖片如何存入資料庫 第一種方式:保存圖片路徑至資料庫中
第二種方式:數據插入相應表中,參數類型為byte[]
例如:
sql:insert into table(imageColumn) values (@image);
其中@image參數值為byte[]類型的變數

問題五:圖片如何存放在oracle資料庫 測試可行。這只是核心Class文件代碼,你要是弄不出來,就再聯系我,我再把整個項目給你。這是把圖片真個放到資料庫
package .;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;
import oracle.sql.BLOB;
public class Insert {
Scanner sc =new Scanner(System.in);
@SuppressWarnings(deprecation)
public int insertbinary(String pname,String src1){
Connection con = null;
String sql = insert into test values(?,?);
String sql1 =update test set image=? where pname=?;
int res = 0;
try {
con=BaseDAO.getConnection();
con.setAutomit(false);
PreparedStatement pstm = con.prepareStatement(sql);
pstm.setString(1, pname);
EMPTY_BLOB和EMPTY_CLOB返回一個空的LOB定位器,
可以用來初始化一個LOB變數,或在INSERT或UPDATE語句,
初始化LOB列或屬性為空。 EMPTY表示LOB初始化,但不填充數據。
pstm.setBlob(2, oracle.sql.BLOB.empty_lob());
pstm.executeUpdate();
pstm.close();
pstm = con.prepareStatement(select * from test where pname=?);
pstm.setString(1, pname);
ResultSet rs = pstm.executeQuery();
rs.next();
BLOB blob = (BLOB) rs.getBlob(2);
OutputStream os = blob.getBinaryOutputStream();
FileInputStream fi = new FileInputStream(src1);
byte[] buff = new byte[1024];
int len = fi.read(buff);
while (len != -1) {
os.write(buff);
len = fi.read(buff);
}
pstm = con.prepareStatement(sql1);
pstm.setBlob(1,......>>

問題六:如何將圖片儲存在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;
}
二、將圖片以二進制數據流直接保存到資料庫:
引用如下命名空間:
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......>>

問題七:如何在資料庫中存儲圖片文件 解決方法一般有兩種:
一種是將圖片保存的路徑存儲到資料庫;
另一種是將圖片以二進制數據流的形式直接寫入資料庫欄位中。

問題八:如何將圖片存到資料庫 通常對用戶上傳的圖片需要保存到資料庫中。解決方法一般有兩種:一種是將圖片保存的路徑存儲到資料庫;另一種是將圖片以二進制數據流的形式直接寫入資料庫欄位中。以下為具體方法:
一、保存圖片的上傳路徑到資料庫:
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......>>

問題九:怎樣資料庫access保存jpg圖片 只有兩種方法
1.存圖片地址,圖片放伺服器的一個文件夾里
2.存圖片的數據,也就是二進制流
既然第一種你說不行 那隻能第二種了。
我只說一下思路,代碼網上找一下,多的很,也不麻煩1.資料庫欄位類型為image(sqlserver的是image,不知道access的是不是)
2.把圖片文件序列化 放到一個byte[]數組里,然後存到資料庫
顯示的時候:
1.單獨在一個頁面讀出圖片的內容到一個byte[]數組
2.用response把這段二進制輸出
3.在要引用的地方,比如你的image控制項,把引用的地址指向這個頁面就行了

問題十:如何像資料庫中保存圖片? 一般圖像是不保存在資料庫的.而是先將圖片放在工程下的某個文件夾中,將圖片所在的工程文件路徑存在資料庫中,當程序載入圖片的時候,從資料庫中讀取圖片的路徑,然後根據路徑在工程的文件夾中讀取圖片文件

7. mysql存圖片麻煩嗎 用什麼欄位存

方法一:

把照片放進資料庫,照片的格式最好是bmp,這樣就可以在窗體上顯示出來,不過這樣資料庫的體積會暴增。

詳細的使用方法請參考Access幫助中的 PictureData 屬性(本文末尾有相關幫助)。

而且,你可以直接用 commdlg API 函數來給圖像框賦值,然後直接讀取某個圖像框的 PICTUREDATA 並存儲到某個 IMAGE 欄位中。這樣做的優點是顯示、讀取方便,缺點是如果圖片精度高,佔用的硬碟空間會爆大。

詳細示例請參考:

http://access911.net/down/eg/OLEfieldAndPictureData.rar

方法二:

設一個OLE欄位,然後插入對象就行了(對著欄位單擊右鍵)。但是要注意的是,用上述方法加入資料庫的圖片只能以手動方式保存,需要用程序讀取的時候會碰到存儲在ole欄位中二進制數據與源文件不符的情況。主要是因為ole引擎在圖片的前面加了一段信息給他自己用。

請參考:

http://access911.net/index.asp?board=4&mode=3&recordid=75FAB21E12DC

方法三:

將圖片文件以二進制方式存儲在資料庫中,使用時調用。詳細情況請參考:

使用 ADO 的 STREAM 對象的 LoadFromFile 方法以及 SaveToFile 方法實現:

http://access911.net/index.asp?board=4&mode=3&recordid=74FAB51E13DC

使用 ADO 的 RECORDSET.FIELD 對象的 GetChunk 以及 AppendChunk 方法實現:

http://access911.net/index.asp?board=4&mode=3&recordid=75FAB01E

ASP 中使用的方法:

http://access911.net/index.asp?board=4&mode=3&recordid=79FAB31E

下列常式就是採用這種方法,在顯示的時候把長二進制數據保存為臨時文件用於顯示

http://access911.net/down/photo.rar

方法四:

不把照片放入資料庫,只把照片的路徑保存到資料庫中,動態載入,這樣可以支持很多種圖片格式。作法是在窗體上放一個圖像控制項,然後根據員工編號或別的有關聯的欄位去找出路徑,用以下語句來載入圖像:

圖像1.Picture =路徑名

路徑名必須包括圖象文件名。

詳細情況你可以參考 access xp 的示例 northwind.mdb 中的雇員窗體

你也可以參考:http://access911.net/down/eg/LinkPicture.rar

8. 在MySQL中怎麼存儲多媒體信息,如照片,語音等

存二進制文件或者文件路徑,一般採用路徑

9. MySQL資料庫任何數據都可以存放嗎(比如圖片,文檔)

能存放,但是不是好的解決方案,正常情況宏配判下都是在資料庫中存放文件路徑蔽改,圖賣橡片、音樂、視頻文件存放在硬碟上。