MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Bị mắc kẹt khi thay đổi dữ liệu nhị phân thành base64 (Gridfs-stream)

Tôi cũng đang tìm giải pháp để đọc hình ảnh từ gridfs và tôi đang sử dụng grid-fs strem

đây là giải pháp tôi đã tìm thấy, hy vọng nó hữu ích cho bạn.

// thiết lập lưới

import mongoose from 'mongoose';
import Grid from 'gridfs-stream';

const db = mongoose.connection.db;
const mongoDriver = mongoose.mongo;
const gfs = new Grid(db, mongoDriver);

// ghi hình ảnh vào mongo

const writeStream = gfs.createWriteStream({
  filename: 'test.png',
  content_type: 'image/png',
});
fs.createReadStream(filePath).pipe(writeStream);

writeStream.on('close', (gfsFile) => {
  // remove the original file
  fs.unlink('test.png');
  // this is the information, and _id is the id 
  console.log(gfsFile);
});

// đọc hình ảnh sang mongo

const readstream = gfs.createReadStream({
  _id: id,
});

const bufs = [];
readstream.on('data', function (chunk) {
  bufs.push(chunk);
});
readstream.on('end', function () {
  const fbuf = Buffer.concat(bufs);
  const base64 = fbuf.toString('base64');
  console.log(base64);
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Quyền bị từ chối đối với socket:/tmp/mongodb-27017.sock

  2. Id đối tượng Mongo DB deserializing sử dụng trình tuần tự JSON

  3. Tại sao mongoose luôn thêm một chữ s vào cuối tên bộ sưu tập của tôi

  4. Cách xóa nhiều bản ghi đã chọn trong một bộ sưu tập trong MongoDB bằng cách sử dụng la bàn MongoDB

  5. Làm cách nào để duyệt hoặc truy vấn dữ liệu MongoDB trực tiếp?