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

Thay đổi kích thước hình ảnh với Nodejs và Imagemagick

Hãy xem mô-đun nút node-imagemagick . Có một ví dụ sau trên trang của mô-đun để thay đổi kích thước và hình ảnh và ghi nó vào một tệp ...

var fs = require('fs');
im.resize({
  srcData: fs.readFileSync('kittens.jpg', 'binary'),
  width:   256
}, function(err, stdout, stderr){
  if (err) throw err
  fs.writeFileSync('kittens-resized.jpg', stdout, 'binary');
  console.log('resized kittens.jpg to fit within 256x256px')
});

Bạn có thể thay đổi mã này để làm như sau ...

var mime = require('mime')   // Get mime type based on file extension. use "npm install mime"
  , fs = require('fs')
  , util = require('util')
  , http = require('http')
  , im = require('imagemagick');

http.createServer(function (req, res) {
    var filePath = 'test.jpg';

    fs.stat(filePath, function (err, stat) {
        if (err) { throw err; }

        fs.readFile(filePath, 'binary', function (err, data) {
            if (err) { throw err; }

            im.resize({
                srcData: data,
                width: 256
            }, function (err, stdout, stderr) {
                if (err) { throw err; }

                res.writeHead(200, {
                    'Content-Type': mime.lookup(filePath),
                    'Content-Length': stat.size
                });

                var readStream = fs.createReadStream(filePath);

                return util.pump(readStream, res);
            });
        });
    });
}).listen(8080);

Ps. Chưa chạy đoạn mã trên. Sẽ thử làm điều đó trong thời gian ngắn, nhưng nó sẽ cung cấp cho bạn ý tưởng về cách thay đổi kích thước và truyền trực tuyến tệp một cách không đồng bộ.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose kéo ObjectId từ mảng

  2. không thể xóa trường mongoose _id

  3. Nhận số lượng mục với trình tạo truy vấn trình điều khiển MongoDB C #

  4. Chỉ không thể làm cho Passport.js hoạt động

  5. Lỗi cập nhật tài liệu Mongoose