2012/07/02更新
Macは関係がありませんでした。Windowsでもchromeは同じようになるようです。
はずかしや・・・


HTMLでのアップロードするファイルの名称を自動でJavaScriptで取得しようとしたら、
Macでは「C:\fakepath\」とのパスが表示されてしまった。
といっても、Firefoxは問題ない。
ChromeとSafariがそう表示される。
(たぶんWebKitだから同じなのだろう・・・)

$('input#upload_file').change(
  function(){
	var path = $(this).val();
	$('input[name=title]','#frm').val(path);
  }
}
<input type="file" name="upload_file" size="50" style="width:300px" id="upload_file" />
<input type="text" name="title" class="field" value="" style="width:400px" />

どうやら、セキュリティ関連らしいのだが、別にディレクトリ情報がほしいわけではなく、
単にファイル名が欲しかっただけなのだが・・・・
それにしても、MacでCドライブっておかしくない・・・とおもいつつ

どうしたらいいかちょっと悩んだが、
多分、MacではHTML5のFile APIが使えるだろうなとおもい・・・

こんなJavaScriptでとりあえず対応

$('input#upload_file').change(
			function(){
				if(window.File){
					var file = this.files[0];
					$('input[name=title]','#frm').val(file.name);
				}
				else{
					var path = $(this).val();
					$('input[name=title]','#frm').val(path);
				}
			}
);

もし、なんらかの問題がみつかったらもっとまじめに考えることにした。

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2012年7月
« 6月   8月 »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ