簡體   English   中英

Node.JS從mysql讀取BLOB

[英]Node.JS reading BLOB from mysql

我正在使用Node.JS node-mysql模塊。 一列有BLOB類型,想要從中讀取,如果可能,base64對其進行編碼。 我還沒有找到任何關於如何做到這一點。

有任何想法嗎?

請嘗試以下代碼段:

var buffer = new Buffer( blob );
var bufferBase64 = buffer.toString('base64');

如果您的blob是二進制,請使用以下代碼:

var buffer = new Buffer( blob, 'binary' );
var bufferBase64 = buffer.toString('base64');

您還可以將其簡化為一行:

var bufferBase64 = new Buffer( blob, 'binary' ).toString('base64');

值得注意的是: mysql-node自動將Blob對象轉換為javascript Buffer對象。
以上答案解決了base64編碼問題。

對我來說,在節點中將其作為字符串讀取的最簡單方法是: myObject.myBlobAttr.toString('utf-8')


截至2015年1月28日,
來自Felix的mysql節點頁面

類型鑄造

為方便起見,此驅動程序默認情況下會將mysql類型轉換為本機JavaScript類型。 存在以下映射:

...

緩沖

TINYBLOB
MEDIUMBLOB
LONGBLOB
BLOB
BINARY
VARBINARY
BIT(必要時,最后一個字節將填充0位)


編輯 UTF-8的備用選項(?)

String.fromCharCode.apply(null, new Uint16Array(myObject.myBlobAttr));

暫無
暫無

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

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