バイナリデータとは
Node.js でファイルを読み込む時、エンコーディングを指定しないと Buffer 型のデータとして扱われます。
Node.js で画像データを読み込むには、次のようにします。
let img = fs.readFileSync('./sample.jpg');
Node.js でファイルを読み込む時、エンコーディングを指定しないと Buffer 型のデータとして扱われます。
Node.js で画像データを読み込むには、次のようにします。
let img = fs.readFileSync('./sample.jpg');
CREATE DATABASE sample;
CREATE TABLE img(
id INT AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
img BLOB NOT NULL,
PRIMARY KEY (id)
);
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()
})();