写真ファイルのアップロードを提供する場合、通常、ユーザーはカメラまたは携帯電話からの圧縮率の低い巨大な(10メガピクセル以上)JPEGファイルを持っています。サーバー側では、これらのファイルは800x600pxやJPEG品質7または8などに再圧縮されます。
クライアント側でその再圧縮を行うことは(すでに)可能ですか?そのため、送信する必要があるのは100 MB(800x600px)だけで、3 MB以上は送信しません。何かのようなもの:
(1)javascriptの新しいFileSystem API( http://slides.html5rocks.com/#filewriter )を使用すると、写真ファイルのデータをクライアント側JSに読み込むことができます。
(2)その後、JPEGデータを再エンコードする必要がありますが、これは可能ですが、そのためのライブラリはまだ見つかりません(まだ)。誰もがそのようなライブラリを知っていますか?
(3)最後のステップは、POST再圧縮されたJPEGデータをサーバー側に保管して保管し、保管された写真ファイルへのURLをサーバーから取得してクライアントのHTMLに含めることです。
これを行うjQueryプラグイン、他のJSライブラリ、またはサンプルWebページを探しています。
Plupload 画像のhtml5サイズ変更をサポートしてからアップロードします。また、サポートされていないブラウザのフォールバックもあります(IE咳咳) 、Silverlight(およびGoogle GearsやBrowserPlusなどの時代遅れのもの)。
このデモをご覧ください: http://makeitsolutions.com/labs/jic
この問題を解決するのは私が作成したjavascriptライブラリです。
クライアント側でjpgとpngをJavaScriptで100%圧縮でき、外部ライブラリは不要です。
画像をキャンバス要素にロードし、サイズを変更してから画像を取得してアップロードできます。