2016-05-31 33 views
9

ファイアベースのストレージは非常にクールで使いやすいですが、Firebaseストレージにアップロードする前にイメージのサイズを変更する方法があるかどうかは疑問です。例えばImageMagickを使ってFirebase SDKを使用してアップロードプロセスを実行しますが、Firebase SDKサーバーのストレージ機能はありません。イメージをファイアベースにアップロードする前にリサイズ

+1

「Firebaseにアップロードする前に」アップロードするには[画像を操作するためのいくつかのノードライブラリがあります](http://stackoverflow.com/questions/24026320/node-js-image-resizing-without-imagemagick)、はい? – Kato

+0

はい、どの言語でもこれを実行する方法はたくさんあります。 –

答えて

14

Firebase Storage + Google Cloud Functionsを使用してイメージをアップロードしたり、ImageMagickなどを使ってイメージのサイズを変更したり、Firebase Storageに書き戻したりすることもできます。

私はこれらを一緒に使用している例がありますhere(私は画像リサイザーではなくCloud Vision APIをトリガーします)。

簡単な説明:Firebase StorageにはNode.jsクライアントがありませんが、代わりにGCloud-Nodeライブラリを使用することをお勧めします。

+0

私は同じ考えをしていましたが、私は確信が持てませんでしたが、ノードの代わりにgcloud-golangを使用するのはすばらしいでしょう。 –

+0

いつでもオブジェクト変更通知(https://cloud.google.com/storage/docs/object-change-notification)+ Go Google App Engineアプリ(https://cloud.google.com/appengine/)を設定することができます。 docs/go /)これを行う:) –

+0

まあ、雲の機能がfirebaseの一部であることは、nodejsを使って解決策を実装する方が簡単だと分かっています。 –

2

私たちはを使用しています。画像のサイズを変更するクライアントのデバイス処理能力を使用するJavaScriptのサイズ変更は、大いに役立ちます。私たちはスペースとコストを節約し、クライアントを大部分のモバイルケースで節約します。

我々はを使用しているオリジナルのスクリプトがfrom hereを来て、それを使用する手順は、このように簡単です:

<input type="file" id="select"> 
<img id="preview"> 
<script> 
document.getElementById('select').onchange = function(evt) { 
    ImageTools.resize(this.files[0], { 
     width: 320, // maximum width 
     height: 240 // maximum height 
    }, function(blob, didItResize) { 
     // didItResize will be true if it managed to resize it, otherwise false (and will return the original file as 'blob') 
     document.getElementById('preview').src = window.URL.createObjectURL(blob); 
     // you can also now upload this blob using an XHR. 
    }); 
}; 
</script> 

私は男(dcollienが)メリットのLOTに値すると信じているので、私彼の答えを投票することをお勧めします。

0

最後のコメントにいくつかの問題があります。まず、これがclient-> serverの場合、サイズ変更が実行されることが保証されていないことを理解してください。クライアントは、上記のルールに従わないと決めると、別のサイズの画像をアップロードしてアップロードすることができます。クライアントを信頼しないでください。クライアントがサーバーからのもののサイズを変更したい場合。これはスタイルと同じで、帯域幅を減らすことはできません。

+0

https://stackoverflow.com/questions/37557343/resize-an-image-before-uploading-it-to-firebase/49162553#comment85330829_37558536 –

関連する問題