Я настраивал сценарий импорта для текстовых файлов в веб-приложении.Обнаружение типа содержимого файла при использовании интерфейса FileReader JavaScript
Мой сценарий выглядит следующим образом:
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)
}
}
Это по существу является модификацией, которая позировала на this question.
Однако на данный момент пользователь может технически попытаться импортировать любой файл. Поскольку он предназначен для файлов с обычным текстом, проблемы могут возникать, если импортируется другой тип файла.
Я заметил в консоли, что браузер определяет тип содержимого импортируемого файла. Вот пример.
fileName: "ideas.txt"
fileSize: 377
name: "ideas.txt"
size: 377
type: "text/plain"
webkitRelativePath: ""
Можно, затем, чтобы создать аргумент, где скрипт определяет тип содержимого файла, и если это не один из ряда заданных подходящих типов содержимого, есть сценарий отказаться от импорта?
Заранее благодарим за любые советы.
Я думаю, с помощью «обнаружить тип содержимого» и означает, выводя из расширения файла .. – 2010-11-24 07:25:10
выведения расширения будет один из способов сделать это, но я надеялся, что я мог бы доступ ко всему, что подсказывает лоб ser, что файл, например, «text/plain» или «text/x-tex» или «image/jpeg» и т. д. – 2010-11-24 08:20:37