Путь к файлу ввода-типа, где он хранится по запросу AJAX? - PullRequest
0 голосов
/ 04 июня 2010

Я отслеживал параметры, которые веб-сайт получает при загрузке файла (через тип ввода = "файл"). Удивительно, но параметр и его значение выглядели так:

параметр: upfile

value: filename = "это имя загруженного файла.png" Тип контента: image / x-png

Теперь в этом запросе POST к странице сервера имя файла и его тип передаются в параметр, но как насчет пути к этому имени файла? Где хранится этот путь, чтобы страница сервера могла выгрузить файл в хорошем месте?

Кроме того, я хотел бы знать, возможно ли каким-либо образом указать путь, НЕ к входу type = "file", поскольку это невозможно, но к серверу (хотя этот вопрос, вероятно, во многом зависит от страница на стороне сервера написана в виде сценария).

Спасибо за ваши ответы.

1 Ответ

0 голосов
/ 04 июня 2010

Я обычно использую PHP, поэтому я буду ссылаться на него в своем объяснении здесь.

Когда файл загружен, он помещается во временный каталог /tmp.

PHP предоставляет возможность переместить файл из временного местоположения туда, где вы хотите, с помощью функции move_uploaded_file($filename, $path_to_move_to);

В PHP такая информация, как размер файла, имя файла загруженного файла (файлов) не находится в массиве со всей информацией $_POST, а вместо этого помещается в массив $_FILES.

Если у вас есть ввод: <input type="file" name="userfile" />, вы можете переместить файл, выполнив move_uploaded_file($_FILES['userfile']['name'], '/dir/to/where/i/want_files_to_go');

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

...