Отправка файлов из браузера
Я пытаюсь позволить пользователю выбрать файл на своем компьютере и начать заполнять его, я следовал примеру здесь. Я использовал обычный ввод вместо того, чтобы использовать перетаскивание, поскольку я не мог заставить его работать.
Теперь, когда файл выбран, я получаю эту ошибку:
Uncaught Error: пути файловой системы не работают в браузере
Как я могу начать сеять с компьютера пользователя, не загружая файл на мой сервер?
1 ответ
Я думаю, что вы пытались прочитать файл с file:///
, но это невозможно по соображениям безопасности. Файл должен быть выбран или удален от пользователя. Самое простое решение с кнопкой:
function readFile(evt) {
var file = evt.target.files[0]
if (!file) {
return
}
var reader = new FileReader()
reader.onload = evt => {
var contents = evt.target.result
console.log(contents)
}
reader.readAsText(file)
}
<input type="file" onchange="readFile.call(this, event)" />
С помощью этого фрагмента вы можете читать файл без какого-либо взаимодействия с сервером, что идеально подходит для безсерверной технологии, такой как торрент.