ホームページ >ウェブフロントエンド >jsチュートリアル >ブラウザのファイル入力から完全なローカル ファイル パスを取得するにはどうすればよいですか?

ブラウザのファイル入力から完全なローカル ファイル パスを取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-25 13:57:10658ブラウズ

How Can I Get the Full Local File Path from a Browser File Input?

ブラウザのファイル入力から真のローカル ファイル パスを取得する

ブラウザには、 で選択されたファイルが表示されることがよくあります。 「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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。