質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

2回答

3919閲覧

カメラで撮影した画像をリサイズしてアップロードしたい

Mitsuaki_Noda

総合スコア27

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

2クリップ

投稿2015/06/17 11:12

こんにちは。

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); }); } };

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

下記はいかがでしょうか?
実際に使ってみて、速度など実用に耐えるものでした。

JS-Image-Resizer
https://github.com/taisel/JS-Image-Resizer
http://kinsentansa.blogspot.jp/2013/07/html5-canvasjs-image-resizer.html

投稿2015/06/17 12:04

chiku_

総合スコア1464

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こちら私も気になっていました、有り難うございます。

投稿2015/06/23 07:52

reina

総合スコア34

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問