こんにちは。

monacaとニフティモバイルバックエンドを使ってアプリを作っています。
フォトギャラリーを表示するアプリとそれを管理するアプリを作っています。

別の方が管理するアプリ側の画像をアップロードする部分を書いていたのですが、
数MBあるスマホの画像をそのままアップロードするのでフォトギャラリー側での表示時に
とても時間がかかり実用的ではありません。。

アップロードする前に画像の比率はそのままにリサイズしてアップロードできれば、、と思っています。

その他にも良い案があればご教授いただけると幸いです。
以下がアップロードしているコードの一部です。

よろしくお願い致します。

   // 画像選択・カメラ起動
    $scope.showDialog = function(val) {
        if (val == 0) {
            // 画像を選択して取得
            var opt = {
                quality: 50,
                encodingType: Camera.EncodingType.JPEG,
                destinationType: Camera.DestinationType.DATA_URL,
                sourceType: Camera.PictureSourceType.PHOTOLIBRARY
            };
        } else {
            // 画像をカメラで撮って取得
            var opt = {
                quality: 50,
                encodingType: Camera.EncodingType.JPEG,
                destinationType: Camera.DestinationType.DATA_URL,
                sourceType: Camera.PictureSourceType.CAMERA
            };
        }

        navigator.camera.getPicture(onSuccess, onFail, opt);
    };

    function onSuccess(data) {
        $scope.img64 = data;
        document.getElementById('new_img').src = 'data:image/jpeg;base64,' + data;
    }

    function onFail() {
        // エラー
    }

    // 追加
    $scope.add = function() {
        if (document.getElementById('new_img').src != "images/no-image.png") {
            var file = toBlob($scope.img64);
            var fileNam = ImgBaseNam + no + ".jpg";

            var ncmbFile = new NCMB.File(fileNam, file);

            ncmbFile.save().then(function() {
                // アップロード成功
                var Obj = NCMB.Object.extend(imgClassNam);
                var obj = new Obj();

                var Today = new Date().toLocaleDateString();

                obj.save(null, {
                    success: function(obj) {

                    alert("データを保存しました。");

                    },
                    error: function(obj, error) {
                        alert("データを保存に失敗しました。, error code: " + error.message);
                    }
                });
            }, function(error) {
                // アップロード失敗
                alert(error.message);
            });
        }
    };