Определение типа содержимого файла при использовании интерфейса 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)
    }
}

По сути, это модификация того, что было задано в этом вопросе .

Однако в настоящий момент пользователь может технически попытаться импортировать любой файл. предназначен для текстовых файлов, проблемы могут возникнуть, если импортируется файл другого типа.

Я заметил в консоли, что браузер определяет тип содержимого импортируемого файла. Вот пример.

fileName: "ideas.txt"
fileSize: 377
name: "ideas.txt"
size: 377
type: "text/plain"
webkitRelativePath: ""

Можно ли тогда настроить аргумент, в котором сценарий определяет тип содержимого файла, и если он не входит в число указанных подходящих типов содержимого, иметь сценарий отказать в импорте?

Заранее благодарим за любой совет.

8
задан Community 23 May 2017 в 10:30
поделиться