Anda perlu menggunakan file:///
protokol (ya, itu tiga garis miring) jika Anda ingin menautkan ke file lokal.
<a href="file:///C:\Programs\sort.mw">Link 1</a>
<a href="file:///C:\Videos\lecture.mp4">Link 2</a>
Ini tidak akan pernah membuka file di aplikasi lokal Anda secara otomatis. Itu untuk alasan keamanan yang akan saya bahas di bagian terakhir. Jika terbuka, itu hanya akan terbuka di browser. Jika browser Anda dapat menampilkan file, itu akan, jika tidak, ia mungkin akan menanyakan apakah Anda ingin mengunduh file.
Versi modern dari banyak browser (mis. Firefox dan Chrome) akan menolak untuk beralih dari protokol http ke protokol file untuk mencegah perilaku jahat. Anda harus membuka halaman web Anda secara lokal menggunakan protokol file jika Anda ingin melakukan hal ini sama sekali.
Mengapa itu macet tanpa file:///
?
Bagian pertama dari URL adalah protokol. Protokol adalah beberapa huruf, lalu tanda titik dua dan dua garis miring. HTTP://
dan FTP://
merupakan protokol yang valid; C:/
tidak dan saya cukup yakin itu bahkan tidak benar-benar mirip.
C:/
juga bukan alamat web yang valid. Peramban dapat menganggap itu dimaksudkan http://c/
dengan port kosong yang ditentukan, tetapi itu akan gagal.
Browser Anda mungkin tidak menganggap itu merujuk ke file lokal. Ada sedikit alasan untuk membuat asumsi itu karena situs publik biasanya tidak berusaha untuk menautkan ke file lokal orang.
Jadi jika Anda ingin mengakses file lokal: katakan untuk menggunakan protokol file.
Kenapa tiga tebasan?
Karena itu bagian dari skema File URI . Anda memiliki opsi untuk menentukan host setelah dua tebasan pertama. Jika Anda melewatkan menentukan host, itu hanya akan menganggap Anda merujuk ke file di PC Anda sendiri. Ini berarti file:///C:/etc
jalan pintas untuk file://localhost/C:/etc
.
File-file ini masih akan terbuka di browser Anda dan itu bagus
Browser Anda akan merespons file-file ini dengan cara yang sama mereka merespons file yang sama di mana saja di internet. File-file ini tidak akan terbuka di penangan file default Anda (mis. MS Word atau VLC Media Player), dan Anda tidak akan dapat melakukan apa pun seperti meminta File Explorer untuk membuka lokasi file.
Ini adalah hal yang sangat baik untuk keamanan Anda.
Situs di browser Anda tidak dapat berinteraksi dengan sistem operasi Anda dengan sangat baik. Jika situs yang bagus dapat memberi tahu mesin Anda untuk membuka lecture.mp4 di VLC.exe , situs jahat dapat memerintahkannya untuk membuka virus.bat di CMD.exe . Atau bisa juga memberitahu mesin Anda untuk menjalankan beberapa file Uninstall.exe atau membuka File Explorer jutaan kali.
Ini mungkin tidak nyaman bagi Anda, tetapi keamanan HTML dan browser tidak benar-benar dirancang untuk apa yang Anda lakukan. Jika Anda ingin dapat membuka lecture.mp4 di VLC.exe, pertimbangkan untuk menulis aplikasi desktop.
Not allowed to load local resource
kesalahan)Jika Anda menjalankan IIS pada PC Anda, Anda dapat menambahkan direktori yang ingin Anda jangkau sebagai Direktori Virtual. Untuk melakukan ini, Anda klik kanan pada Situs Anda di ISS dan tekan "Tambahkan Direktori Virtual". Beri nama folder virtual. Arahkan folder virtual ke lokasi folder Anda di PC lokal Anda. Anda juga harus memberikan kredensial yang memiliki hak istimewa untuk mengakses folder spesifik misalnya. HOSTNAME \ nama pengguna dan kata sandi. Setelah itu Anda dapat mengakses file di folder virtual seperti file lain di situs Anda.
http://sitename.com/virtual_folder_name/filename.fileextension
Omong-omong, ini juga berfungsi dengan Chrome yang jika tidak menerima file-file protokol: //
Semoga ini bisa membantu seseorang :)
sumber
Janky paling-paling
lalu klik kanan, pilih opsi "salin lokasi", lalu tempelkan ke url.
sumber
kembali ke 2017:
gunakan URL.createObjectURL (file) untuk membuat tautan lokal ke sistem file yang dipilih pengguna;
jangan lupa membebaskan memori dengan menggunakan URL.revokeObjectURL ()
sumber
Saya punya cara dan bekerja seperti ini:
sumber