hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

iOS6のファイルアップロードについて

はてなブログ,iOS6のSafariから写真投稿できるようになった.JS書くだけで写真とか扱えるのおもしろい.前はPhoneGapとか使う必要があった.


iOS6,リモートデバッグみたいなのができるようになっててデバッグがすごい楽だった.iPhoneSafariの設定でWebインスペクタをオンにしてUSBケーブルでつないでMacのSafari開くとDeveloperメニューからインスペクタだけMacに出せる.エラー出たら止まったりHTML見たりできる.


XCode最新のにするとシミュレータもiOS6になるからシミュレータでもデバッグできる.シミュレータで写真撮れないからSafariで画像を保存してアップロードしてみるとかする必要がある.シミュレータでもリモートデバッグできる.


XmlHttpRequestのPOSTの結果がキャッシュされてしまって,しばらくはまってた.POST先のURLにダミーのパラメータみたいなのつけたら回避できた.?dummy=(timestamp)みたいなのをつけて毎回POST先がちがうように見せかけるとキャッシュされなくなった.写真アップロードのリクエストがキャッシュされると,一瞬でアップロードが完了して,最初に投稿した写真が返ってくる,という挙動になる.アクセスも来ないからアクセスログ見れば分かる.


普通にinput type=file を作ると,写真かビデオを選択みたいなのが出る.写真だけにしたいときは,input要素にaccept="image/*" という属性をつけると写真だけにできる.


iOS用に作ったけどAndroidGoogle Chromeでも動くようだった.動かないこともある.