Bạn cần sử dụng file:///
giao thức (vâng, đó là ba dấu gạch chéo) nếu bạn muốn liên kết đến các tệp cục bộ.
<a href="file:///C:\Programs\sort.mw">Link 1</a>
<a href="file:///C:\Videos\lecture.mp4">Link 2</a>
Chúng sẽ không bao giờ tự động mở tệp trong các ứng dụng cục bộ của bạn. Đó là vì lý do bảo mật mà tôi sẽ đề cập trong phần cuối. Nếu nó mở, nó sẽ chỉ mở trong trình duyệt. Nếu trình duyệt của bạn có thể hiển thị tệp, nó sẽ, nếu không nó có thể sẽ hỏi bạn nếu bạn muốn tải xuống tệp.
Các phiên bản hiện đại của nhiều trình duyệt (ví dụ Firefox và Chrome) sẽ từ chối chuyển từ giao thức http sang giao thức tệp để ngăn chặn hành vi nguy hiểm. Bạn sẽ cần mở trang web của mình cục bộ bằng giao thức tệp nếu bạn muốn thực hiện công cụ này.
Tại sao nó bị mắc kẹt mà không có file:///
?
Phần đầu tiên của URL là giao thức. Một giao thức là một vài chữ cái, sau đó là dấu hai chấm và hai dấu gạch chéo. HTTP://
và FTP://
là các giao thức hợp lệ; C:/
không và tôi khá chắc chắn rằng nó thậm chí không giống với một.
C:/
cũng không phải là một địa chỉ web hợp lệ. Trình duyệt có thể cho rằng nó có nghĩa là http://c/
với một cổng trống được chỉ định, nhưng điều đó sẽ thất bại.
Trình duyệt của bạn có thể không cho rằng nó đề cập đến một tệp cục bộ. Nó có ít lý do để đưa ra giả định đó bởi vì các trang web công cộng thường không cố gắng liên kết đến các tệp cục bộ của mọi người.
Vì vậy, nếu bạn muốn truy cập các tệp cục bộ: hãy bảo nó sử dụng giao thức tệp.
Tại sao ba nhát chém?
Bởi vì đó là một phần của lược đồ URI tệp . Bạn có tùy chọn chỉ định máy chủ sau hai dấu gạch chéo đầu tiên. Nếu bạn bỏ qua việc chỉ định máy chủ, nó sẽ cho rằng bạn đang đề cập đến một tệp trên PC của chính bạn. Điều này có nghĩa file:///C:/etc
là một phím tắt cho file://localhost/C:/etc
.
Những tệp này sẽ vẫn mở trong trình duyệt của bạn và điều đó là tốt
Trình duyệt của bạn sẽ phản hồi các tệp này giống như cách họ phản hồi với cùng một tệp ở bất kỳ đâu trên internet. Các tệp này sẽ không mở trong trình xử lý tệp mặc định của bạn (ví dụ: MS Word hoặc VLC Media Player) và bạn sẽ không thể làm bất cứ điều gì như yêu cầu File Explorer mở vị trí của tệp.
Đây là một điều cực kỳ tốt cho an ninh của bạn.
Các trang web trong trình duyệt của bạn không thể tương tác tốt với hệ điều hành của bạn. Nếu một trang web tốt có thể nói máy tính của bạn để mở lecture.mp4 trong VLC.exe , một trang web độc hại có thể nói cho nó để mở virus.bat trong Cmd.exe . Hoặc nó chỉ có thể yêu cầu máy của bạn chạy một vài tệp Uninstall.exe hoặc mở File Explorer một triệu lần.
Điều này có thể không thuận tiện cho bạn, nhưng bảo mật HTML và trình duyệt không thực sự được thiết kế cho những gì bạn đang làm. Nếu bạn muốn để có thể mở lecture.mp4 trong VLC.exe xem xét việc viết một ứng dụng desktop để thay thế.