バイナリデータ - Node.js

  • 作成日:
  • 最終更新日:2025/06/25

バイナリデータとは?

Node.js でファイルを読み込む時、エンコーディングを指定しないと Buffer 型のデータとして扱われます。

Node.js で画像データを読み込むには、次のようにします。

let img = fs.readFileSync('./sample.jpg');

Node.js でバイナリデータを DB に保存する

データベースの作成

CREATE DATABASE sample;

テーブルの作成

CREATE TABLE img(
id INT AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
img BLOB NOT NULL,
PRIMARY KEY (id)
);

script.js

const fs = require('fs');
const mysql = require('mysql2/promise');

(async () => {
const connection  = await mysql.createConnection({
  host: 'localhost',
  user: 'root',
  database: 'sample',
  password: 'password',
});
let img = fs.readFileSync('./flower.jpg'); // 画像ファイルの読み込み。バイナリデータとして読み込み

try {
  const [results, fields] = await connection.execute('INSERT INTO img (name, img) VALUES (?, ?);', ["flower", img]);
  console.log(results);
} catch (err) {
  console.log(err);
}
connection.end()
})();