簡體   English   中英

如何將 MySQL blob 轉換為 base64?

[英]How to convert MySQL blob to base64?

問題描述:我有一個Insert腳本,其中包含二進制數據(圖片文件),以前是作為blob存儲在Mysql DB中,要求將blob數據轉換為base64存儲在SQL Server中。 我嘗試將blob數據作為Image和varbinary數據類型直接插入SQL服務器並將它們轉換為base64,但是,這兩種方法都無法在web上顯示圖像。

我嘗試從 Mysql db 導出圖像文件並嘗試查看它,但格式看起來無效。

我不確定存儲在 Mysql 數據庫中的圖像文件是什么格式,並且很難解碼。 誰能幫我?

示例文件:

0xa15b8a9e56c2a7f9b56c4015a0eaf6abaf9f39575c028b39ffea32c35dad471522babf9f5abfeaea7eafaebafadf2d596

問題出在哪里? MariaDB 斑點? SQL 服務器? 將 Base64 顯示為圖像? 還有別的嗎?

以下是一些提示:

  • 在 MariaDB(至少)中,您可以使用UNHEX(some 8-bit data)作為插入到BLOB列中的表達式。
  • 在 MariaDB(至少)中,您可以使用BASE64(some 8-bit data)生成可以放入TEXTBLOB中的文本字符串。
  • 要在 HTML 中的<img>中將 Base64 顯示為圖像,您需要說明它是這樣編碼的。 (細節有點模糊,但它有效,字符串是 html 的一部分。)
  • 要顯示圖像(來自許多位置中的任何一個),您需要一個在 web 服務器中運行的單獨程序,具有合適的“標頭”並寫入圖像的二進制(不是 Base64)字節。 在這種情況下,使用或示例<img src=foo.php?...>其中foo.php使用其參數 ( $_GET ) 獲取圖像(並且,如果需要,Base64 轉換),然后回顯Header 圖像類型和圖像的二進制文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM