2017-01-03 10 views
0

私は、画像のアップロードとユーザーの表示をサポートするWebアプリケーションを作成しています。フレームワークにはanglejsを使用していましたが、バックエンドへの画像送信は、単一ページのアプリケーションフレームワーク(角度)で非常に難しいと考えた後、画像をbase64にコンパイルしてバックエンドに送信することを選択しました。Cloud64に送信する前のBase64画像圧縮

バックエンドがbase64イメージを取得すると、それはCloudineに再度送信され、データベースはイメージプロパティとURLを格納するJSONファイルであるcloudinaryからの応答を保存します。

これまでのところうまくいきましたが、ここでは上記のいずれかのプロセス間にもう1つのプロセス、イメージ圧縮を追加します。私はこの方法には全く新しいです。だから私はこれに対処し、私にいくつかの提案や勧告を得た人がいるかどうか疑問に思います。

お時間をいただきありがとうございます。

+1

Base64を使用すると、実際にファイルサイズが大きくなります。通常のHTTP圧縮では十分ではありませんか?そして...角度を持ってファイルをアップロードするのはそれほど難しいことではありません。この回答を見る:http://stackoverflow.com/questions/18571001/file-upload-using-angularjs – karliwson

+0

ありがとう。私はそのパッケージとそのやり方を検討しました。しかし、私が扱っている形式は、いくつかの入力がある形式だけではありません。しかしサイズが非常に大きく、多くのファイルアップロード入力があります。そのようなパッケージを使用する際には、テキストデータとファイルデータを分離する必要があり、最終的にアプリケーションとデータ構造を拡大することが困難になるようです。だから私はそれが裸のデータよりも大きくなったとしてもbase64へ行くことに決めました。 – supergentle

答えて

0

これは私が理解したものです。これが、同じ質問に苦しんでいる人々に役立つことを願っています。

イメージをbase64にコンパイルする場合は、angular-base64-uploadを使用しました。また、このパッケージは、base64文字列がng-model変数に追加される前にファイルを処理する機会を与えます。

したがって、角度ベース64アップロードの混合物にはJimpを使用しました。それは素晴らしい作品です。 3.5Mbサイズの画像が約110kbまで落として、品質を50%に、幅を1280pxに減らします。