teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

webkitRelativePathプロパティについての説明を追記。「フォルダ」と「ディレクトリ」を混同していたため、統一

2016/03/06 09:52

投稿

sounisi5011
sounisi5011

スコア697

answer CHANGED
@@ -1,10 +1,13 @@
1
1
  ここでいう絶対パスとは、ドラッグ元のコンピュータ上での絶対パスのことでしょうか?
2
2
  であるならば、取得は不可能です。
3
3
 
4
- SafariやGoogle Chrome等のWebkit系ブラウザにある`webkitRelativePath`プロパティは、フダを選択した場合にフォルダ内のファイルのパスを示しますが、選択したフォルダを基準とす相対パスとなります。
4
+ SafariやGoogle Chrome等のWebkit系ブラウザは、ファイル選択用のinput要素`webkitdirectory`属性を指定することで、ファイルではなくディレクトリ(フォルダ)選択できようになります。
5
- [WebkitRelativePath - JSFiddle](http://jsfiddle.net/Sapphion/HcD9c/)
5
+ この時、`webkitRelativePath`プロパティは、ディレクトリ内のファイルのパスを示します。
6
+ しかし、絶対パス(Windowsで言えば、`C:\`から始まるようなパス)ではなく、選択したディレクトリを基準とする相対パスとなります。
6
7
 
8
+ サンプル:[WebkitRelativePath - JSFiddle](http://jsfiddle.net/Sapphion/HcD9c/)
9
+
7
- Firefoxには`mozFullPath`というプロパティがありはしますが、Mozilla固有のもので、他のブラウザでは使えません。
10
+ Firefoxには`mozFullPath`というプロパティがありますが、Mozilla固有のもので、他のブラウザでは使えません。
8
11
  [MDN](https://developer.mozilla.org/ja/docs/Web/API/File/mozFullPath)にも「Non-standard」とありますし、既に[Fileオブジェクトのプロパティ一覧](https://developer.mozilla.org/en-US/docs/Web/API/File#Properties)にも載っていません。
9
12
  ([フランス語版](https://developer.mozilla.org/fr/docs/Web/API/File#Properties)と[中国語版](https://developer.mozilla.org/zh-CN/docs/Web/API/File#Properties)のプロパティ一覧には記述されているものの、どちらも非推奨となっており、また中国語版には『只在特权代码中可用』(特権コードでのみ利用可能)とあります)
10
13
 

2

`mozFullPath`プロパティについて追記

2016/03/06 09:52

投稿

sounisi5011
sounisi5011

スコア697

answer CHANGED
@@ -5,6 +5,7 @@
5
5
  [WebkitRelativePath - JSFiddle](http://jsfiddle.net/Sapphion/HcD9c/)
6
6
 
7
7
  Firefoxには`mozFullPath`というプロパティがありはしますが、Mozilla固有のもので、他のブラウザでは使えません。
8
- [MDN](https://developer.mozilla.org/ja/docs/Web/API/File/mozFullPath)にも「Non-standard」とあります。
8
+ [MDN](https://developer.mozilla.org/ja/docs/Web/API/File/mozFullPath)にも「Non-standard」とありますし、既に[Fileオブジェクトのプロパティ一覧](https://developer.mozilla.org/en-US/docs/Web/API/File#Properties)にも載っていません
9
+ ([フランス語版](https://developer.mozilla.org/fr/docs/Web/API/File#Properties)と[中国語版](https://developer.mozilla.org/zh-CN/docs/Web/API/File#Properties)のプロパティ一覧には記述されているものの、どちらも非推奨となっており、また中国語版には『只在特权代码中可用』(特権コードでのみ利用可能)とあります)
9
10
 
10
11
  そもそもセキュリティ上の理由から、パソコン内のディレクトリ構造を読み取れるような仕様は策定されない可能性が非常に高いです。

1

`webkitRelativePath`プロパティについて言及

2015/06/26 12:52

投稿

sounisi5011
sounisi5011

スコア697

answer CHANGED
@@ -1,2 +1,10 @@
1
1
  ここでいう絶対パスとは、ドラッグ元のコンピュータ上での絶対パスのことでしょうか?
2
- であるならば、取得は不可能です。
2
+ であるならば、取得は不可能です。
3
+
4
+ SafariやGoogle Chrome等のWebkit系ブラウザにある`webkitRelativePath`プロパティは、フォルダを選択した場合にフォルダ内のファイルのパスを示しますが、選択したフォルダを基準とする相対パスとなります。
5
+ [WebkitRelativePath - JSFiddle](http://jsfiddle.net/Sapphion/HcD9c/)
6
+
7
+ Firefoxには`mozFullPath`というプロパティがありはしますが、Mozilla固有のもので、他のブラウザでは使えません。
8
+ [MDN](https://developer.mozilla.org/ja/docs/Web/API/File/mozFullPath)にも「Non-standard」とあります。
9
+
10
+ そもそもセキュリティ上の理由から、パソコン内のディレクトリ構造を読み取れるような仕様は策定されない可能性が非常に高いです。