Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Загрузка файла средставми js (https://javascript.ru/forum/misc/2015-zagruzka-fajjla-sredstavmi-js.html)

twolf 21.10.2008 13:51

Загрузка файла средставми js
 
Логика моего скрипта такая:
Скрипт перебирает элементы формы, сохраняя все в один массив и отправляет на сервер с помощью XMLHttpRequest
С текстовыми полями всё понятно.
Но никак не могу разобраться, как же средствами js можно отправить файл на сервер.
Видел что можно с помощью jQuery и какого-то плагина это сделать, но может без библиотеки, своими силами можно обойтись.

Подскажите логику, как можно отправить файл, либо ссылки или хотя бы ключевые, куда копать.
:)

SunnyDay 21.10.2008 14:14

средствами JS можно отправить запрос на сервер, и какой-либо серверный скрипт сохранит твой файл на сервер. Но это естественно небезопасно - т.е. получится любой юзер сможет делать такие запросы

Kolyaj 21.10.2008 14:37

Цитата:

Сообщение от SunnyDay
средствами JS можно отправить запрос на сервер

Как это относится к загрузке файлов?

twolf, делайте обычную форму загрузки файлов и направляйте ее в скрытый iframe, в который серверным скриптом выводите javascript, который будет передавать ответные данные родительскому окну.

SunnyDay 21.10.2008 14:44

Kolyaj,
да, так точно получится) я и имел ввиду - через форму отправить запрос..

Kolyaj 21.10.2008 14:52

Цитата:

Сообщение от SunnyDay
да, так точно получится

Более того, никак по-другому не получится.

Андрей Параничев 21.10.2008 15:16

http://javascript.ru/ajax/transport/...hieriez-iframe
Только через iframe транспорт.

twolf 21.10.2008 15:27

Kolyaj, Андрей Параничев спасибо.
буду разбираться

magistr_bender 21.10.2008 18:27

а ещё можно этот ифрэйм создавать динамически ;) тогда считай обошолся одним яваскриптом) и свойство при создании ему поставить хайден и всё

Kolyaj 21.10.2008 18:34

Цитата:

Сообщение от magistr_bender
а ещё можно этот ифрэйм создавать динамически

Ну это разумеется.


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