14.10.2018, 11:39
|
Аспирант
|
|
Регистрация: 11.06.2018
Сообщений: 31
|
|
загрузка изображений post
Добрый день,уважаемые форумчане! Подкиньте идей/статей,да и вообще дайте совет,как реализовать.
У меня есть сайт с регистрацией пользователей. Туда же пользователи могут загружать фотографии в input type="file" multiply. Но функционал очень ограниченный. Я не могу удалить, допустим, лишнюю картинку из 5 в input и т.д. Как решить эту проблему?Установить плагин? Но плагины в основном работают с ajax и передают изображения без полей input file. а мне нужно именно это. Что мне делать?(
|
|
14.10.2018, 11:56
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Menshakovich
|
передают изображения без полей input file
|
Даже так?! И кто же им позволяет делать выбор файлов на стороне клиента?
|
|
14.10.2018, 13:19
|
Аспирант
|
|
Регистрация: 11.06.2018
Сообщений: 31
|
|
мне не нужен ajax... все данные я передаю обычным способом. вот и изображения хотелось бы также
|
|
14.10.2018, 13:33
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,588
|
|
Проблема в том, что input file multiple физически нельзя редактировать. И перемещать меж ними файлы нельзя. И новые создавать с конкретным полученным из js файлом тоже нельзя.
Вот и получается, что "классическим" способом ты ничего не можешь сделать(адекватно). Можно конечно визуально удалять "лишнюю" картинку, посылая на сервер всё равно всё подряд и уже там отсеивая "удалённое", можно добавлять в форму скрытые поля со значением в виде base64 закодированных картинок, которые на сервере раскодировать. Но и то жуткие костыли и оверхед.
С передачей через ajax же таких проблем нет, там ты формируешь запрос как угодно. Потому и все плагины для файлов оперируют ajax.
Так что тут либо тебе переходить всё-таки на ajax(ничего сложного на самом деле), либо мерзко костылять, либо заставлять загружать по одному файлу, без multiple.
__________________
29375, 35
|
|
14.10.2018, 22:06
|
Аспирант
|
|
Регистрация: 11.06.2018
Сообщений: 31
|
|
Сообщение от Aetae
|
Проблема в том, что input file multiple физически нельзя редактировать. И перемещать меж ними файлы нельзя. И новые создавать с конкретным полученным из js файлом тоже нельзя.
Вот и получается, что "классическим" способом ты ничего не можешь сделать(адекватно). Можно конечно визуально удалять "лишнюю" картинку, посылая на сервер всё равно всё подряд и уже там отсеивая "удалённое", можно добавлять в форму скрытые поля со значением в виде base64 закодированных картинок, которые на сервере раскодировать. Но и то жуткие костыли и оверхед.
С передачей через ajax же таких проблем нет, там ты формируешь запрос как угодно. Потому и все плагины для файлов оперируют ajax.
Так что тут либо тебе переходить всё-таки на ajax(ничего сложного на самом деле), либо мерзко костылять, либо заставлять загружать по одному файлу, без multiple.
|
я тут голову ломал весь день.и вот подумал,а нельзя ли после нажатия пользователем на кнопку добавить фото(multiply) записывать эти картинки по одной в отдельные скрытые inputы ,потом очистить multiply. и при нажатии удалить будет удаляться нужный input
|
|
14.10.2018, 22:52
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,588
|
|
Цитата:
|
...можно добавлять в форму скрытые поля со значением в виде base64 закодированных картинок, которые на сервере раскодировать...
|
//
__________________
29375, 35
|
|
14.10.2018, 23:00
|
Аспирант
|
|
Регистрация: 11.06.2018
Сообщений: 31
|
|
Сообщение от Aetae
|
//
|
я имел в виду сами файлы без кодировок.например,таким образом:
document.getElementById("files").files = event.dataTransfer.files;
|
|
15.10.2018, 08:38
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,588
|
|
Цитата:
|
...input file multiple физически нельзя редактировать. И перемещать меж ними файлы нельзя. И новые создавать с конкретным полученным из js файлом тоже нельзя...
|
//
__________________
29375, 35
|
|
15.10.2018, 13:21
|
|
Профессор
|
|
Регистрация: 25.10.2016
Сообщений: 1,012
|
|
Сообщение от Aetae
|
base64
|
FormData же есть
|
|
15.10.2018, 21:15
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,588
|
|
Alexandroppolus, он хочет без ajax, читай внимательней.
__________________
29375, 35
|
|
|
|