0

IE で HTML 入力オブジェクトからファイル名の値を取得しようとすると、フル パスとファイル名が返されますが、Chrome ではベース ファイル名のみが返されます。ブラウザに関係なくフルパスとファイル名を返すようにする方法はありますか、それともJQueryのようなものにジャンプする必要がありますか? 全能の神よ、私は愚かな非標準のウェブ「標準」が嫌いです。

コード例:

<input type="file" name="fn" id="fn"/>

IE で選択ボタンをクリックし、「\server123\apps\folder1\setup.exe」などのパスに移動すると、フォームに表示され、[submit] ハンドラー イベントで処理される結果も「\server123」になります。 \apps\folder1\setup.exe". ただし、Chrome 22.x から 28.x までで同じ手順を実行すると、「setup.exe」のみが表示され、[submit] ハンドラを介して渡されます。ブラウザに関係なく、フルパスとファイル名を処理する方法はありますか?

4

2 に答える 2

1

セキュリティ上の理由から、Chrome はパス情報を削除します。そのため、パス情報にアクセスする方法はありません。

fileinput.onchange = function(e) {
  console.log(e.target.value); // Will be c:\fakepath
}
于 2013-07-23T21:11:37.687 に答える
1

私は最終的に、アプリがユーザーが使用しているブラウザーを検出し、IE でない場合に適切なメッセージを表示するようにしました。このメッセージは、UNC パス全体をコピーしてコメント ボックスに貼り付けるようにユーザーに勧めるだけです。これは完全にイントラネット アプリケーションであるため、外部に公開されるものは何もありません。

于 2013-09-09T00:58:42.750 に答える