![](/img/trans.png)
[英]Node.js - Saving canvas as an image [for Heroku hosted apps using 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.