Задать вопрос

Как сделать загрузу файла на JavaScript, если input в одной форме, а нужный url — находится по другому адресу?

Здраствуйте!
Имеется следующая проблема - есть форма "orderform". Там есть поле Additional Materials, которое отвечает за загрузку файлов - обычный .
Содержимое полей формы отправляется по url /makeoorder.

Так вот - как мне реализовать загрузку файла, выбраного в инпут-поле по адресу /upload?

Реализация нужна на JS/Jquery.

Спасибо!
  • Вопрос задан
  • 2480 просмотров
Подписаться 3 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
тут не в js дело. Пехапе на сервере?
Форма уходит с файлами, инфа помещается в глобальный массив $_POST или $_GET, а файлы в $_FILES
Физически во временную папку. А вот как с ними нужно работать дальше:
php.net//manual/ru/function.move-uploaded-file.php
Ответ написан
KEKSOV
@KEKSOV
Есть только один способ - разбить вашу форму на две формы, каждая со своим адресом обработки, в первой оставить поля, во вторую запихнуть поле с файлом. При нажатии на кнопку отправить в первой форме нужно ручками отправлять обе формы при помощи JS. Только таким образом можно указать два разных адреса куда отправляются данные.

Посмотрите вот на этот плагин для jQuery, возможно, он вам пригодится.
Ответ написан
Комментировать
@IceJOKER
Web/Android developer
JAVASCRIPT - CLIEND SIDE LANGUAGE, то есть javascript работает в браузере пользователя и нифига не знает о том, что за дисней лэнд у вас на сервере. для взаимодействия сервера и js нужно воспользоваться ajax.
вместе дружно Php+js решать вашу проблему
Ответ написан
Комментировать
JohnnyDv
@JohnnyDv
Если на php, то следующим образом:
Ваше поле для выбора файла <input type="file" name="myfile" id="myfile" />
Тогда для переноса файла в нужную Вам папку:
define ('MY_UPLOAD', '/upload');
$file_name = $_FILES['myfile']['name'];
$target = MY_UPLOAD.$file_name;
move_uploaded_file($_FILES['myfile']['tmp_name'], $target);
Но новые файлы будут затирать старые с таким же именем. Можно в конце имени добавлять например время.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:03
5000 руб./за проект
18 дек. 2024, в 10:44
130000 руб./за проект
18 дек. 2024, в 10:02
7000 руб./за проект