`"/> `">

Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mencari fail tempatan dalam javascript

Bagaimana untuk mencari fail tempatan dalam javascript

PHPz
PHPzasal
2023-04-24 10:47:29857semak imbas

Kedatangan era digital telah membawa lebih banyak kemudahan kepada individu atau perniagaan, tetapi ia juga telah menyebabkan pelbagai masalah, seperti kebocoran privasi, kehilangan fail, dll. Untuk beberapa data sensitif, seperti penyata kewangan syarikat, maklumat pelanggan, dsb., banyak syarikat tidak mahu menyimpannya dalam awan, tetapi memilih untuk menyimpannya secara setempat. Lokasi fail tempatan perlu ditempatkan dan diakses dalam penyemak imbas, dan artikel ini akan memperkenalkan cara menggunakan JavaScript untuk mencari lokasi fail tempatan.

Pertama sekali, buat kotak input fail dalam HTML, menggunakan teg <input type="file">, seperti ini:

<input type="file" id="fileInput">

Setelah pengguna memilih fail, ia boleh ditambahkan ke global pembolehubah supaya ia boleh diakses kemudian dalam kod. Anda boleh menggunakan objek FileReader JavaScript untuk membaca fail dan mendapatkan kandungan fail.

let selectedFile;

document.getElementById('fileInput').addEventListener('change', (event) => {
  selectedFile = event.target.files[0];
  console.log(selectedFile);
});

Apabila pengguna memilih fail, acara change akan dipecat, yang membolehkan kami mengakses maklumat fail yang dipilih. Kami menghantar objek event sebagai parameter kepada pengendali acara dan kemudian mengakses tatasusunan event.target.files, yang mengandungi semua fail yang dipilih oleh pengguna. Di sini kami hanya memilih fail pertama yang dipilih oleh pengguna dan menetapkannya kepada pembolehubah selectedFile. Akhir sekali, kami mencetak objek selectedFile ke konsol untuk memastikan fail yang betul telah dipilih.

Sekarang kami telah memilih fail tempatan dan menyimpannya ke pembolehubah global, tugas seterusnya ialah menentukan laluan di mana ia berada. Mendapatkan laluan ke fail tempatan dalam JavaScript biasanya tidak mungkin kerana penyemak imbas web tidak membenarkan akses kepada laluan penuh sistem fail tempatan pengguna kerana kebimbangan keselamatan. Walau bagaimanapun, kami boleh menjana URL yang boleh mengakses fail yang dipilih dengan menggunakan fungsi URL.createObjectURL() API Fail. URL ini unik dan tidak seperti mana-mana fail atau URL lain yang dimuat naik oleh pengguna dan boleh digunakan sebagai ID unik untuk menyimpan fail atau untuk tujuan lain.

Kini, kita boleh mendapatkan URL fail yang dipilih dengan kod berikut:

const fileURL = URL.createObjectURL(selectedFile);

Kini, kita mempunyai URL unik yang boleh digunakan untuk mengakses fail, tetapi bagaimana kita tentukan di mana fail adalah laluan folder? Sebenarnya, ini adalah mustahil kerana JavaScript tidak boleh mengakses sistem fail tempatan pengguna. Apabila kami menggunakan fungsi URL.createObjectURL(), penyemak imbas secara automatik mencipta laluan fail maya untuk mengakses fail yang dipilih. Jadi, kami mungkin tahu nama, jenis dan kandungan fail, tetapi kami tidak tahu laluan folder di mana ia berada. Jika kita perlu mengakses laluan folder, kita perlu meminta pengguna untuk memberikan maklumat tersebut. Sebagai contoh, kami boleh meminta pengguna mengikut nama fail dengan laluan folder supaya apabila fail disimpan ia ditambahkan pada folder yang betul.

Ringkasnya, JavaScript tidak boleh mengakses sistem fail setempat pengguna secara langsung, tetapi kami boleh menggunakan objek FileReader dan fungsi URL.createObjectURL() untuk membaca fail yang dipilih oleh pengguna dan menjana URL unik untuk digunakan di Web Akses kandungan fail dalam aplikasi. Jika kita perlu mengakses laluan folder, kita perlu mendapatkan maklumat tersebut daripada pengguna, contohnya dengan meminta pengguna mengikut nama fail dengan laluan folder.

Atas ialah kandungan terperinci Bagaimana untuk mencari fail tempatan dalam javascript. 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