1

いくつかの画像ファイル (形式は異なる場合がありますが、必要に応じて制限することもできます) をサーバーにアップロードし、base64 でエンコードされた文字列としてデータベースに保存しています。これらの画像からサムネイルを作成したいので、プレビューだけが必要なときに完全な画像をプルダウンする必要はありません。

そこにあるソリューションのほとんどは、パスからの読み取りとパスへの書き込みを伴いますが、メモリにデータがあります。ファイルをバイト配列またはbase64文字列として圧縮するためのJavaScriptまたはNode.jsライブラリまたは手法はありますか?

ありがとうございました。

4

2 に答える 2

0

imagemagick ノード ライブラリを試してください。あらゆる種類の画像操作機能を備えています。ここにリンクがあります:

ノードイメージマジック

また、imagemagick を使用してサムネイルを効率的に生成するこの投稿が役立つと思います。

于 2013-08-13T22:15:24.930 に答える
0

node-canvasを少し試してみました。これには、HTML5 キャンバスとほとんど同じであるという追加の利点があります。drawImageノードまたはクライアント側で同じ API を使用できます。

node-canvas の Readme には、画像のサイズ変更を行う方法の例もあります。

fs.readFile(__dirname + '/images/squid.png', function(err, squid){
  if (err) throw err;
  img = new Image;
  img.src = squid;
  ctx.drawImage(img, 0, 0, img.width / 4, img.height / 4);
});

もちろん、ディスクからイメージを読み書きする必要はありません。

于 2013-08-13T22:21:07.493 に答える