スマートフォンでフォームからファイル選択をし、画像ファイルを選択
その後、そのファイルのデータを利用しての処理を行いたいが
うまくいかない
var file = $(this).prop('files')[0]; var fr = new FileReader(); fr.onload = function() { $('img#image').attr('src', fr.result); img = new Image(); img.src = fr.result; if(img.width > 0){ ooooo(); } }
上記のようなソースにしている。
PCで行った場合、
img
に正常にデータが入り、ooooo()が動作するのだが
スマートフォンの場合imgがnullになる場合がある(正常に動作する場合もある)
ファイルの読込が間に合っていないのかと思い、
タイマーを自作して
img.src = fr.result;
の前の行に入れてもうまくいかない。また、
img.src = fr.result;
の前の行に
alert(1);
などのように
・alertを表示
・OKをクリックでアラートを消す
とした場合、100%正常動作した
これらの理由や対策分かる方いらっしゃいますでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。