Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Dapatkan Laluan Fail Penuh Menggunakan JavaScript dan jQuery?

Bagaimanakah Saya Boleh Dapatkan Laluan Fail Penuh Menggunakan JavaScript dan jQuery?

Patricia Arquette
Patricia Arquetteasal
2025-01-01 13:14:11902semak imbas

How Can I Retrieve the Full File Path Using JavaScript and jQuery?

Mengambil Laluan Penuh Fail Terpilih menggunakan JavaScript dan jQuery

Dalam pembangunan web, selalunya perlu mengendalikan pemilihan fail menggunakan HTML < ;jenis input="fail"> unsur. Walaupun penyemak imbas seperti Firefox dan Chrome menyediakan akses kepada nama fail, mereka mengehadkan akses kepada laluan penuh atas sebab keselamatan.

Pendekatan Gagal Menggunakan Atribut Nilai

Satu tanggapan salah yang biasa ialah atribut nilai bagi mengandungi laluan penuh. Walau bagaimanapun, pendekatan ini hanya mengembalikan nama fail, bukan laluan penuh.

<input type="file">

Sekatan Keselamatan Pelayar

Penyemak imbas sengaja melumpuhkan akses kepada laluan penuh melalui JavaScript untuk mengelakkan serangan berniat jahat dan melindungi privasi pengguna. Pada asasnya, JavaScript tidak mempunyai akses kepada sistem fail.

Alternatif untuk Firefox

Walaupun pelayar lain tidak menyediakan akses kepada laluan penuh, Firefox mempunyai sifat unik dipanggil mozFullPath. Walau bagaimanapun, percubaan untuk mengakses sifat ini mengembalikan rentetan kosong.

$('input[type=file]').change(function () {
  console.log(this.files[0].mozFullPath);
});
https://jsfiddle.net/SCK5A/

Pendekatan Alternatif untuk Membaca Fail

Daripada bergantung pada laluan penuh, pertimbangkan untuk menggunakan Fail API Pembaca, yang membolehkan anda membaca kandungan fail tanpa akses kepada lokasinya pada sistem. Pendekatan ini biasanya digunakan untuk pratonton imej sebelum memuat naik, seperti yang diterangkan dalam soalan Limpahan Tindanan berikut:

Pratonton imej sebelum ia dimuat naik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Laluan Fail Penuh Menggunakan JavaScript dan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn