Ich habe ein Import-Skript für Nur-Text-Dateien in einer Webanwendung eingerichtet.Ermitteln des Inhaltstyps einer Datei bei Verwendung der JavaScript-Schnittstelle FileReader
Mein Skript ist wie folgt:
function dataImport(files) {
confirm("Are you sure you want to import the selected file? This will overwrite any data that is currently saved in the application workspace.");
for (i = 0; i < files.length; i++) {
file = files[i]
console.log(file)
var reader = new FileReader()
ret = []
reader.onload = function(e) {
window.localStorage.setItem("ApplicationData", e.target.result);
}
reader.onerror = function(stuff) {
console.log("error", stuff)
console.log (stuff.getMessage())
}
reader.readAsText(file)
}
}
Es ist im Wesentlichen eine Modifikation des auf this question gestellt.
Im Moment kann der Benutzer jedoch technisch versuchen, eine Datei zu importieren. Da es für Nur-Text-Dateien entwickelt wurde, können Probleme auftreten, wenn ein anderer Dateityp importiert wird.
Ich habe in der Konsole festgestellt, dass der Browser den Inhaltstyp der zu importierenden Datei erkennt. Hier ist ein Beispiel.
fileName: "ideas.txt"
fileSize: 377
name: "ideas.txt"
size: 377
type: "text/plain"
webkitRelativePath: ""
Ist es möglich, dann, ein Argument zu gründen, wo das Skript des Inhaltstyp der Datei erkennt, und wenn es nicht von einer Anzahl von bestimmtem geeignetem Content-Typ ist, das Skript hat sich weigern, es zu importieren?
Vielen Dank im Voraus für eine Beratung.
ich denke, die von ‚Content-Type-Erkennung‘ u bedeuten, aus der Erweiterung der Datei folgern .. –
Inferenzabschnitts durch die Erweiterung wäre eine Möglichkeit, es zu tun, aber ich habe gehofft, dass ich konnte Auf alles zugreifen, was der Braue sagt ser, dass eine Datei beispielsweise "text/plain" oder "text/x-tex" oder "image/jpeg" usw. ist. –