Saya mencoba membuka file dengan
window.open("file:///D:/Hello.txt");
Peramban tidak mengizinkan membuka file lokal dengan cara ini, mungkin karena alasan keamanan. Saya ingin menggunakan data file di sisi klien. Bagaimana saya bisa membaca file lokal dalam JavaScript?
javascript
Joval
sumber
sumber
null
pada setiaponClick
acara harus melakukan trik, lihat: stackoverflow.com/a/12102992/63011FileReader
, tetapi komentar didisplayContents
atas: perhatikan bahwa pengaturaninnerHTML
seperti ini dengan konten yang tidak dipercaya bisa menjadi kerentanan keamanan. (Untuk melihat ini sendiri, buatbad.txt
sesuatu yang berisi seperti<img src="/nonexistent" onerror="alert(1);">
dan lihat bahwa peringatan itu dieksekusi — itu bisa jadi kode yang lebih berbahaya.)innerHTML
dengantextContent
. Terima kasih atas komentar Anda.DOMContentLoaded
acara untuk itu.Fasilitas fileReader HTML5 memang memungkinkan Anda untuk memproses file lokal, tetapi ini HARUS dipilih oleh pengguna, Anda tidak dapat me-rooting tentang disk pengguna mencari file.
Saat ini saya menggunakan ini dengan versi pengembangan Chrome (6.x). Saya tidak tahu apa yang didukung browser lain.
sumber
Karena saya tidak memiliki kehidupan dan saya ingin 4 poin reputasi tersebut sehingga saya dapat menunjukkan cintaku kepada (meningkatkan jawaban oleh) orang-orang yang benar-benar pandai dalam pengkodean, saya telah membagikan adaptasi saya terhadap kode Paolo Moretti . Cukup gunakan
openFile(
fungsi yang akan dieksekusi dengan konten file sebagai parameter pertama)
.sumber
clickElem()
, Anda dapat menelepon sajafileInput.click()
. (setidaknya dalam versi terbaru Chrome)Mencoba
tetapi pengguna perlu mengambil tindakan untuk memilih file
Tampilkan cuplikan kode
sumber
Metode permintaan xmlhttp tidak valid untuk file di disk lokal karena keamanan browser tidak memungkinkan kami melakukannya. Tapi kami dapat mengganti keamanan browser dengan membuat pintasan-> klik kanan-> properti Pada target "... browser location path.exe "append --allow-file-access-from-files. Ini diuji pada chrome, namun harus diperhatikan bahwa semua jendela browser harus ditutup dan kode harus dijalankan dari browser yang dibuka melalui pintasan ini.
sumber
Kamu tidak bisa Browser baru seperti Firefox, Safari dll. Memblokir protokol 'file'. Ini hanya akan berfungsi pada browser lama.
Anda harus mengunggah file yang Anda inginkan.
sumber
Javascript biasanya tidak dapat mengakses file lokal di browser baru tetapi objek XMLHttpRequest dapat digunakan untuk membaca file. Jadi sebenarnya Ajax (dan bukan Javascript) yang sedang membaca file.
Jika Anda ingin membaca file
abc.txt
, Anda dapat menulis kode sebagai:Sekarang
txt
berisi konten file abc.txt.sumber