Вопрос по javascript, html, dom – Динамически установить значение файла ввода [дубликат]

65

This ques#ion already has an answer here:

How #o se# file inpu# value when dropping file on page? [duplica#e] 1 answer How #o se# File objec#s and leng#h proper#y a# FileLis# objec# where #he files are also reflec#ed a# FormDa#a objec#? 1 answer

Есть ли способ установить значение файла ввода (&l#;inpu# #ype="file" /&g#;) или это все заблокировано для безопасности? Я пытаюсь использовать Google Gears. openFiles, чтобы сделать простой мультизагрузчик.

No#e:

The answer(s) below reflec# #he s#a#e of legacy browsers in 2009. Now you can ac#ually se# #he value of #he file inpu# elemen# dynamically/programa#ically using JavaScrip# in 2017.

See #he answer in #his ques#ion for de#ails as well as a demo:
How #o se# file inpu# value programa#ically (i.e.: when drag-dropping files)?

Я сделал полный и актуальный (декабрь 2013 г.) ответ об этом здесь: Помните и заполняйте файл ввода GitaarLAB
Я уверен, что вы правы, а поля для ввода файлов доступны только для чтения. Ian Oxley
Reopen. 62 + 62 отзыва (не говоря уже о +15 закладках) означают более чем странное мнение кого-либо Green

Ваш Ответ

4   ответа
66

в противном случае вы можете установить его в «c: \ yourfile» и очень легко красть файлы.

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

Возможно взгляните наhttp: //www.plupload.com - это очень гибкое решение для загрузки нескольких файлов и поддерживает зоны сброса e.t.c.

Кто-то заменил URL-адрес на тот, который работает. JohnK
Я думаю, что этот ответ устарел. Больше невозможно установить файл по умолчанию, так как он может быть прочитан через FileReader API и отправлен XHR. Дело в том, чтоinput.files только для чтения, вероятно, вопрос наследия. Thaddee Tyl
Рассматривая вопрос "Есть ли способ установить значение для ввода файла"? И ответ говорит: "Это невозможно" .. все еще совершенно правильный ответ нет? Какое это имеет отношение к API FileReader или XHR? Joel
0

затем я попытался написать это из JavaScript, и это работает! :referenceToYourInputFile.value = "" ;

Каким образом это «работает»? Mozilla Docs явно заявляет: «Вы не можете установить значение средства выбора файлов из сценария; выполнение чего-то подобного [this] не имеет никакого эффекта» MrWhite
...Кроме Клиринг выбор файла. MrWhite
Вопрос в том, чтобы установить значение ввода файла, а не очистить его. Michał Perłakowski
2

й. Что я сделал, так это отобразил изображение из БД, затем создал кнопку для удаления или сохранения текущего изображения. Если пользователь решил сохранить текущее изображение, я изменил атрибут ng-submit на другую функцию, которая не требует проверки изображения, и обновил запись в БД, не касаясь исходного пути к изображению. Функция удаления изображения также изменила значение атрибута ng-submit обратно на функцию, которая отправляет форму и включает проверку изображения и загрузку. Также немного javascript, чтобы скользить в поле зрения, чтобы загрузить новое изображение.

0

что делал что-то подобное для AngularJS на случай, если кто-то наткнется на этот вопрос:

const imageElem = angular.element('#awardImg');

if (imageElem[0].files[0])
    vm.award.imageElem = imageElem;
    vm.award.image = imageElem[0].files[0];

А потом

if (vm.award.imageElem)
    $('#awardImg').replaceWith(vm.award.imageElem);
    delete vm.award.imageElem;

Похожие вопросы