ホームページ >ウェブフロントエンド >jsチュートリアル >ブラウザのファイル入力から完全なローカル ファイル パスを取得するにはどうすればよいですか?
ブラウザには、 で選択されたファイルが表示されることがよくあります。 「C:fakepath」または同様の偽の場所から発信されているものとして。このセキュリティ対策により、スクリプトが実際のローカル パスにアクセスすることが防止されます。これは、悪意のある目的で悪用される可能性があります。
開発者がファイル処理やその他の操作で完全なローカル パスを必要とする場合、この限られた情報はイライラする可能性があります。最新のブラウザでは真のパスを直接取得する方法はありませんが、部分的にアクセス可能な表現を提供できる回避策はあります。
Mozilla ベースのブラウザ (Firefox など) の場合、ファイルのフル パスにアクセスすることはできません。可能。ブラウザでは、指定された要素にファイル名が「test.csv」としてのみ表示されます。
ただし、他のブラウザでは、開発者は webkitRelativePath プロパティ (Chrome などの WebKit ベースのブラウザ) または mozFullPath プロパティ (pre -Firefox 69) を使用して、部分的なローカル パス表現を取得します。
これは例です。 Chrome:
`
document.querySelector('input[type=file]').addEventListener('change', function() {<pre class="brush:php;toolbar:false">console.log(this.files[0].webkitRelativePath);
});
`
このコード「Documents/test.csv」のようなパスが記録されます。これは完全なパスではありませんが、「C:fakepath」よりも有益な表現を提供します。
これらの回避策は、次の環境では使用できない場合があることに注意してください。すべてのブラウザに対応しているか、セキュリティ制限が設けられている場合があります。したがって、Web アプリケーションを開発するときは、ファイル パスへのアクセスによるセキュリティへの影響を考慮し、ブラウザのセキュリティ ガイドラインに従うことが重要です。
以上がブラウザのファイル入力から完全なローカル ファイル パスを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。