Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   В input type="file" вставить картинку (https://javascript.ru/forum/events/70969-v-input-type%3D-file-vstavit-kartinku.html)

BeetleJuice541 16.10.2017 12:26

В input type="file" вставить картинку
 
Есть сайт(не мой)в нем есть много input'ов
<input type="file" name="image">

мне нужно вставить в эти инпуты более 1000 картинок,делать это через выбор картинки,в окне выбора очень долго.Хочу написать скрипт.
Идея:Сделать один input multiple,в него загрузить несколько картинок(не важно сколько),записать результат в переменную FileList и потом брать из этой переменной значения и записывать в остальные input...
так вот не работает:( ,вот код
var form = document.forms[2];
var elem=form.elements.image;
var inputFile = elem.files;

потом из переменной inputFile не получается достать нужный файл.
Можно либо вставить полностью все картинки в другой input либо ничего.

Подскажите,что можно сделать?

Alexandroppolus 16.10.2017 12:49

input type="file" программно не заполняется

BeetleJuice541 16.10.2017 12:54

ну почему,если взять вот такой код
document.forms[3].elements.image.files=inputFile;

то в input попадут все изображения,которые в первом input'e

laimas 16.10.2017 13:00

Цитата:

Сообщение от BeetleJuice541
Сделать один input multiple,в него загрузить несколько картинок(не важно сколько),записать результат в переменную FileList и потом брать из этой переменной значения и записывать в остальные input...

Зачем же делать кучу полей, если можно загрузить одним? И кто будет принимать 1000 картинок?

BeetleJuice541 16.10.2017 13:08

laimas,
ну вот такой вот сайт.На сайте именно так
<input type="file" name="image">

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

BeetleJuice541 16.10.2017 13:12

Проблема в том,что inputFile[i]-элемент,какая-то картинка.Просто вставить ее в другой input не получается(Похожу не хватает каких-то свойств,я так и не нашел каких,скорее всего там lenght proto и тд.Не знаю)

laimas 16.10.2017 13:36

BeetleJuice541,
кто вам разрешит загружать за один сеанс 1000 файлов? Например в РНР есть ограничения как на общий размер POST данных, так и на макс. размер файла, а также на количество загружаемых одновременно.

BeetleJuice541 16.10.2017 13:51

да я и не говорил,что за 1 сеанс,когда-то в ручную около 300-400 картинок загружал,на что ушло очень много часов.Потом сайт на некоторое время запретил загружать картинки.Но сайт создан именно для этого,так что все хорошо.
Боюсь,что я не совсем точно разъяснил ситуацию

вот скрин как выглядит сайт,больше 1000 input'ов.В каждый можно вставлять свою картинку с комьютера.На что уйдет гигантское кол-во времени.Поэтому я хочу в 1 input вставить сколько-то картинок и потом по остальным раскидать картинки из первого input'a при помощи js.
Сейчас у меня получается только все картинки отправлять в другой input,а мне нужно только 1.
И из каждого input'a будет отправлять 1 картинка

laimas 16.10.2017 14:23

Цитата:

Сообщение от BeetleJuice541
Сейчас у меня получается только все картинки отправлять в другой input,а мне нужно только 1.

А одну не получится, у files нет реализации FileList, то есть нельзя для b.files = a.files[0].

Nexus 16.10.2017 14:35

Chrome extension, вроде бы, умеют работать с файловой системой.
Возможно стоит посмотреть в эту сторону.

Или сделать так, чтобы приложение могло принимать несколько файлов за раз (допилить backend).


Часовой пояс GMT +3, время: 15:44.