2017-08-30 4 views
1

私は、FBイメージURLをパラメータとして受け取り、それがイメージを返す有効なURLであることを確認し、すべてのチェックが成功した場合にURLを返します。これらのパラメータも渡された場合はイメージのサイズを変更する手順を追加して、以前と同じようにURLを介してサイズ変更されたイメージを返すようにしたいと考えています。イメージを保存せずにURLを使用したノードのサイズ変更イメージ

私の画像操作の経験は最小ですが、これまでのところシャープ、サイズ変更、新しいサイズの画像をどこかに保存して新しいURLを画像の場所に返すなどのライブラリを使用しています。

これは最も論理的なアプローチだと思われます。しかし、私は、これらのサイズ変更された画像をどこにでもホストしたくない場合には、可能な解決策が何であるか疑問に思っています。別の方法があるのですか、それとも私の以前の理解が軌道にあるのですか?

例:FacebookからのURLは、https://scontent.xx.fbcdn.net/v/t1.0-9/16473924_10154471006092746_6242863207915608429_n.jpg?oh=4d7fb8fb162c0ff036810ee2969703f0&oe=5A25EE1Cのようになります。質問のタイトルに基づいて

+0

画像のサイズを変更し、サイズ変更された画像を投げ捨ててからURLを返して画像を取得するのは意味がありません。 URLが要求されると、返すことができるようにイメージを再度作成するだけで済みます。だから、あなたが本当に助けを求めていることは、私には完全には不明です。 – jfriend00

+0

@ jfriend00コメントありがとうございます。自分の論理的な解決策の概要を説明した上で、イメージ操作の経験を十分に話したと思っていましたが、イメージ操作に関する私の経験を考慮すると、私が気づいていないことがあるかどうかは疑問でした。それは完全にはっきりしていると答えました。答えはa)はい、あなたの以前の理解は他の選択肢がないので軌道に乗っていますか、b)この選択肢を試してみてください。 SOは会話して学ぶ素晴らしい場所です。それが私がやろうとしていることです。あなたが愚かな質問であると感じる場合は、お詫び申し上げます。 – jmcgui05

+0

申し訳ありませんが、私はまだあなたが求めていることを理解していません。誰も助けに来てくれない人がいれば、おそらく彼らはその質問が何であるかを理解していないからでしょう。質問を編集して助けを求めていることをより明確にすることを願っていました。 – jfriend00

答えて

2

ノードは、画像

を保存せずに、URLと画像のサイズを変更し、私はあなたの「サービス」への要求に基づいて画像を操作しようとしていると思います、それを保存せずに後処理して送信し、ディスクスペースを使用してください。

[JIMP]ディスクに保存せずにイメージを取り出し、サイズを変更して返します。

この例では、サーバールート '/'を要求すると、イメージをフェッチし、サイズを変更し、ディスクに格納することなく応答として戻します。

const imgURL = "https://ichef.bbci.co.uk/news/660/cpsprodpb/37B5/production/_89716241_thinkstockphotos-523060154.jpg"; 
const express = require('express'); const app = express() 
var Jimp = require("jimp") 
app.get('/',function(req, res){ 
    Jimp.read(imgURL, function(err,img){ 
    if (err) throw err; 
    img.resize(32, 32).getBase64(Jimp.AUTO , function(e,img64){ 
     if(e)throw e 
     res.send('<img src="'+img64+'">') 
    }); 
    }); 
}); 
app.listen(3000); 
関連する問題