Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Форма для загрузки файла по ссылке (https://javascript.ru/forum/misc/72601-forma-dlya-zagruzki-fajjla-po-ssylke.html)

laimas 14.02.2018 16:29

Да, отправляет. Это у меня закрыто просто было. )

Ну это же тупость полнейшая, что даже и не подозревал об этом. :)

Лиса тоже отправляет.

Alexandroppolus 14.02.2018 16:35

Цитата:

Сообщение от laimas
Или имеется ввиду закрытая сеть?

да.
такая, что сервер автора топика её не видит

kupidon 15.02.2018 05:26

Ну ведь работает же! У меня из стандартной формы грузит и потом прекрасно обрабатывается. Согласен, что это тупо так загружать. Поэтому и ищу решение. Но поскольку я в этом деле любитель- оно мне кажется сложновато.

Цитата:

Сообщение от Nexus (Сообщение 478104)
Это стандартный диалог выбора файла.
Если туда ссылку на удаленный файл вставить, то он будет скачан и сохранен во временных файлах, а ссылка на него будет помещена в input file.

Выбирая локальные файлы в стандартном диалоговом окне , после нажатия кнопки ОК, они сразу перемещаются во временные файл? или только когда js-скрипт их туда отправит? в моем случае скрипт срабатывает при завершении выбора файлов.

В php обработчик приходит временный файл. И там уже обрабатывается
Можно ли сделать, чтобы из сторонней ссылки, из поля формы input, в обработчик приходил точно такой же временный файл?
Чтобы использовать один обработчик.

laimas 15.02.2018 05:55

Цитата:

Сообщение от kupidon
В php обработчик приходит временный файл.

НА сервер приходит просто файл, который выбрал пользователь, он помещается во временную папку под временным именем. Если он не будет перенесен из временной папки, его удалит сборщик мусора.

Цитата:

Сообщение от kupidon
Можно ли сделать, чтобы из сторонней ссылки, из поля формы input, в обработчик приходил точно такой же временный файл?
Чтобы использовать один обработчик.

А как можно использовать два и более обработчика, если файл и сетевой будет передан формой?

Nexus 15.02.2018 08:05

Цитата:

Сообщение от kupidon
Выбирая локальные файлы в стандартном диалоговом окне , после нажатия кнопки ОК, они сразу перемещаются во временные файл? или только когда js-скрипт их туда отправит?

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

kupidon 15.02.2018 09:16

Цитата:

Сообщение от laimas (Сообщение 478157)
НА сервер приходит просто файл, который выбрал пользователь, он помещается во временную папку под временным именем. Если он не будет перенесен из временной папки, его удалит сборщик мусора.

как же мне тогда отправить на сервер из ссылки временный файл? я вообще запутался

Цитата:

Сообщение от laimas (Сообщение 478157)
А как можно использовать два и более обработчика, если файл и сетевой будет передан формой?

ну по факту то формы две получается. Одна для локального файла. другая для сетевого.
Получается вторая форма (для локального файла) отправляет на сервер временный файл и указывает ему php- обработчик.

А в первой форме только ссылка. Как мне ее заставить работать: подгрузить на сервер сетевой файл и указать этот же php обработчик?

laimas 15.02.2018 09:27

Цитата:

Сообщение от kupidon
ну по факту то формы две получается.

Ну это если с дури каждое поле в свою форму. :)

Но в этом случае одновременно два файла нельзя отправить на сервер. Два поля в одной форме, и если одно имеет имя "name1", а второе "name2", то на сервере в массиве $_FILES они будут под этими ключами. Но смысла так их разделять нет никакого, задайте обеим полям одно имя как элементы массива - name[], и под этим ключом в массиве $_FILES будет массив из двух файлов.

Это если передавать сетевой файл через форму. Если это не для всех пользователей, то на здоровье. Иначе извещайте их как это делать, уверен, что большая часть об этом даже и не подозревает, я вот не знал и не считаю это нужным.

А если серверу передавать ссылку, то это обычное текстовое поле и оно будет под его именем как ключом в массиве $_POST. Сервер его должен загрузить, при этом обработка загрузки, как-то проверка типа, размера, действия на файлами какие либо, и будет одним сценарием. Источники просто разные.

kupidon 15.02.2018 11:18

Я имел ввиду не два диалоговых окна, а две html формы. Одна с диалоговым окном, другая просто текстовое для ссылки.


Как я уже писал выше, что через первую я уже могу загрузить, но это неудобно и мне надо сделать вторую для этого. Вечером задам вопрос более детально с использованием кода. Все на домашнем компе, на денвере. Спасибо Вам что помогаете.

laimas 15.02.2018 11:22

Цитата:

Сообщение от kupidon
Я имел ввиду не два диалоговых окна, а две html формы.

А зачем две формы, что одной нельзя загрузить и файлы и текст?

kupidon 15.02.2018 12:31

Цитата:

Сообщение от laimas (Сообщение 478178)
А зачем две формы, что одной нельзя загрузить и файлы и текст?

Может и можно, но не по Сеньке шапка видимо)). Вечером напишу что там наваял.


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