Θα ήθελα να έχω ένα αρχείο html που να οργανώνει ορισμένα αρχεία διάσπαρτα στο σκληρό μου δίσκο. Για παράδειγμα, έχω δύο αρχεία στα οποία θα ήθελα να συνδέσω:
C:\Programs\sort.mw
C:\Videos\lecture.mp4
Το πρόβλημα είναι ότι θα ήθελα οι σύνδεσμοι να λειτουργούν ως συντόμευση προς το αρχείο. Δοκίμασα τα εξής: Έχω δοκιμάσει τα εξής: Η σύνδεση με τον σύνδεσμο θα πρέπει να λειτουργεί ως σύνδεσμος προς το διαδίκτυο:
<a href="C:\Programs\sort.mw">Link 1</a>
<a href="C:\Videos\lecture.mp4">Link 2</a>
... αλλά ο πρώτος σύνδεσμος δεν κάνει τίποτα και ο δεύτερος σύνδεσμος ανοίγει το αρχείο στο Chrome, όχι στο VLC.
Τα ερωτήματά μου είναι τα εξής:
Υπάρχει τρόπος να προσαρμόσω την HTML μου ώστε να αντιμετωπίζει τους συνδέσμους ως συντομεύσεις προς τα αρχεία;
Εάν δεν υπάρχει τρόπος να προσαρμόσω την HTML, υπάρχουν άλλοι τρόποι για να συνδέω με τακτοποιημένο τρόπο αρχεία που βρίσκονται διάσπαρτα στον σκληρό δίσκο;
Ο υπολογιστής μου τρέχει Windows 7 και το πρόγραμμα περιήγησης ιστού μου είναι το Chrome.
Πρέπει να χρησιμοποιήσετε το πρωτόκολλο file:////
(ναι, είναι τρεις κάθετες) αν θέλετε να συνδέσετε τοπικά αρχεία.
<a href="file:///C:\Programs\sort.mw">Link 1</a>
<a href="file:///C:\Videos\lecture.mp4">Link 2</a>
Αυτά δεν θα ανοίξουν ποτέ το αρχείο στις τοπικές σας εφαρμογές αυτόματα. Αυτό συμβαίνει για λόγους ασφαλείας, τους οποίους θα καλύψω στην τελευταία ενότητα. Αν ανοίξει, θα ανοίξει πάντα μόνο στο πρόγραμμα περιήγησης. Αν το πρόγραμμα περιήγησής σας μπορεί να εμφανίσει το αρχείο, θα το εμφανίσει, αλλιώς πιθανόν να σας ρωτήσει αν θέλετε να κατεβάσετε το αρχείο.
Ορισμένα προγράμματα περιήγησης, όπως οι σύγχρονες εκδόσεις του Chrome, θα αρνηθούν ακόμη και να περάσουν από το πρωτόκολλο http στο πρωτόκολλο αρχείου, οπότε'καλύτερα να βεβαιωθείτε ότι το ανοίγετε τοπικά χρησιμοποιώντας το πρωτόκολλο αρχείου, αν θέλετε να κάνετε αυτό το πράγμα καθόλου.
file:///
;Το πρώτο μέρος ενός URL είναι το πρωτόκολλο. Το πρωτόκολλο αποτελείται από μερικά γράμματα, μετά μια άνω και κάτω τελεία και δύο κάθετους. Τα HTTP://
και FTP://
είναι έγκυρα πρωτόκολλα, το C:/
δεν είναι και είμαι σίγουρος ότι δεν μοιάζει καν σωστά με πρωτόκολλο.
Το C:/
επίσης δεν είναι μια έγκυρη διεύθυνση ιστού. Το πρόγραμμα περιήγησης θα μπορούσε να υποθέσει ότι πρέπει να είναι http://c/
με μια κενή θύρα, αλλά αυτό θα αποτύχει.
Το πρόγραμμα περιήγησής σας μπορεί να μην υποθέσει ότι αναφέρεται σε ένα τοπικό αρχείο. Έχει ελάχιστο λόγο να κάνει αυτή την υπόθεση επειδή οι δημόσιες τοποθεσίες συνήθως δεν προσπαθούν να παραπέμψουν σε τοπικά αρχεία.
Έτσι, αν θέλετε να αποκτήσετε πρόσβαση σε τοπικά αρχεία: πείτε του να χρησιμοποιήσει το πρωτόκολλο αρχείων.
Επειδή είναι μέρος του File URI scheme. Έχετε τη δυνατότητα να καθορίσετε έναν κεντρικό υπολογιστή μετά τις δύο πρώτες κάθετες. Αν παραλείψετε να προσδιορίσετε έναν κεντρικό υπολογιστή, θα υποθέσει ότι αναφέρεστε σε ένα αρχείο στον υπολογιστή σας. Αυτό σημαίνει ότι το file:///C:/etc
είναι μια συντόμευση για το file://localhost/C:/etc
.
Το πρόγραμμα περιήγησής σας θα ανταποκριθεί σε αυτά τα αρχεία με τον ίδιο τρόπο που θα ανταποκρινόταν στο ίδιο αρχείο οπουδήποτε στο διαδίκτυο. Αυτά τα αρχεία δεν θα ανοίξουν στον προεπιλεγμένο χειριστή αρχείων (π.χ. MS Word ή VLC Media Player) και δεν θα μπορείτε να κάνετε κάτι όπως να ζητήσετε από τον File Explorer να ανοίξει τη θέση του αρχείου's.
Αυτό είναι κάτι εξαιρετικά καλό για την ασφάλειά σας.
Οι ιστότοποι στο πρόγραμμα περιήγησής σας δεν μπορούν να αλληλεπιδράσουν πολύ καλά με το λειτουργικό σας σύστημα. Εάν ένας καλός ιστότοπος μπορεί να πει στο μηχάνημά σας να ανοίξει το αρχείο lecture.mp4 στο αρχείο VLC.exe, ένας κακόβουλος ιστότοπος μπορεί να του πει να ανοίξει το αρχείο virus.bat στο αρχείο CMD.exe. Ή θα μπορούσε απλώς να πει στο μηχάνημά σας να εκτελέσει μερικά αρχεία Uninstall.exe ή να ανοίξει τον File Explorer ένα εκατομμύριο φορές.
Αυτό μπορεί να μην είναι βολικό για εσάς, αλλά η HTML και η ασφάλεια του προγράμματος περιήγησης δεν σχεδιάστηκαν πραγματικά για αυτό που κάνετε. Αν θέλετε να μπορείτε να ανοίγετε το αρχείο lecture.mp4 στο VLC.exe, σκεφτείτε να γράψετε μια εφαρμογή γραφείου.
Εάν εκτελείτε το IIS στον υπολογιστή σας, μπορείτε να προσθέσετε τον κατάλογο στον οποίο προσπαθείτε να φτάσετε ως εικονικό κατάλογο. Για να το κάνετε αυτό κάνετε δεξί κλικ στο Site σας στο ISS και πατάτε "Add Virtual Directory". Ονομάστε τον εικονικό φάκελο. Δείξτε τον εικονικό φάκελο στη θέση του φακέλου σας στον τοπικό σας υπολογιστή. Πρέπει επίσης να παρέχετε διαπιστευτήρια που έχουν δικαιώματα πρόσβασης στον συγκεκριμένο φάκελο π.χ. HOSTNAME\username και password. Μετά από αυτό μπορείτε να έχετε πρόσβαση στο αρχείο στον εικονικό φάκελο όπως σε οποιοδήποτε άλλο αρχείο στην τοποθεσία σας.
http://sitename.com/virtual_folder_name/filename.fileextension
Παρεμπιπτόντως, αυτό λειτουργεί και με τον Chrome που κατά τα άλλα δεν δέχεται το αρχείο-πρωτόκολλο file://
Ελπίζω αυτό να βοηθήσει κάποιον :)
Στην καλύτερη περίπτωση, άθλια<br>,
<a href="file://///server/folders/x/x/filename.ext">right click </a></td>
και στη συνέχεια κάντε δεξί κλικ, επιλέξτε την επιλογή "αντιγραφή τοποθεσίας" και στη συνέχεια επικολλήστε το στο url.