Πώς να ανοίξετε ένα αρχείο τοπικού δίσκου με JavaScript;

Προσπάθησα να ανοίξω το αρχείο με

window.open("file:///D:/Hello.txt");

Το πρόγραμμα περιήγησης δεν επιτρέπει το άνοιγμα ενός τοπικού αρχείου με αυτόν τον τρόπο, πιθανότατα για λόγους ασφαλείας. Θέλω να χρησιμοποιήσω τα δεδομένα του αρχείου στην πλευρά του πελάτη. Πώς μπορώ να διαβάσω το τοπικό αρχείο σε JavaScript;

Η δυνατότητα HTML5 fileReader σας επιτρέπει να επεξεργάζεστε τοπικά αρχεία, αλλά αυτά ΠΡΕΠΕΙ να επιλέγονται από τον χρήστη, δεν μπορείτε να ψάχνετε στο δίσκο του χρήστη για αρχεία.

Αυτή τη στιγμή το χρησιμοποιώ με εκδόσεις ανάπτυξης του Chrome (6.x). Δεν γνωρίζω ποια άλλα προγράμματα περιήγησης το υποστηρίζουν.

Σχόλια (2)

Δεν μπορείς. Τα νέα προγράμματα περιήγησης όπως ο Firefox, ο Safari κ.λπ. μπλοκάρουν το πρωτόκολλο 'file'. Θα λειτουργήσει μόνο σε παλιά προγράμματα περιήγησης.

Θα πρέπει να ανεβάσετε τα αρχεία που θέλετε.

Σχόλια (0)

Η Javascript δεν μπορεί συνήθως να έχει πρόσβαση σε τοπικά αρχεία στα νέα προγράμματα περιήγησης, αλλά το αντικείμενο XMLHttpRequest μπορεί να χρησιμοποιηθεί για την ανάγνωση αρχείων. Έτσι, στην πραγματικότητα είναι το Ajax (και όχι η Javascript) που διαβάζει το αρχείο.

Αν θέλετε να διαβάσετε το αρχείο abc.txt, μπορείτε να γράψετε τον κώδικα ως εξής:

var txt = '';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
  if(xmlhttp.status == 200 && xmlhttp.readyState == 4){
    txt = xmlhttp.responseText;
  }
};
xmlhttp.open("GET","abc.txt",true);
xmlhttp.send();

Τώρα το txt περιέχει τα περιεχόμενα του αρχείου abc.txt.

Σχόλια (5)