簡體   English   中英

圖像使用Node.js從Amazon S3動態調整大小

[英]Image Resize on the fly from Amazon S3 using Node.js

我有一個包含許多圖像的存儲桶,我想從Amazon S3 getObject()方法返回的緩沖區中動態調整其中一個,但我找不到直接從內存緩沖區調整大小的庫。 Thumbbot和Imagemagick從磁盤讀取文件,這不是我需要的!

這是一個示例代碼:

exports.resizeImage = function(req, res) {
    bucket.getObject({Key: 'image.jpg'}, function(err, data){
        if (err) throw err;
        var image = resizeImage(data.Body);//where resize image is a method or a library that I need to call
        res.writeHead(200, {'Content-Type': data.ContentType });
        res.end(image); //send a resized image buffer
    });
};

我感謝任何幫助,謝謝

我找到了使用gm庫為節點js的解決方案

var gm = require('gm').subClass({ imageMagick: true });

exports.resizeImage = function(req, res) {
    bucket.getObject({Key: 'image.jpg'}, function(err, data){
        if (err) throw err;
        gm(data.Body, 'ok.jpg')
            .size({bufferStream: true}, function(err, size) {
                this.resize(200, 200);
                this.toBuffer('JPG',function (err, buffer) {
                    if (err) return handle(err);
                    res.writeHead(200, {'Content-Type': data.ContentType });
                    res.end(buffer);
                });
            });
    });
};

暫無
暫無

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

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