Как получить загруженные файлы после отправки формы с помощью uploadify? - PullRequest
2 голосов
/ 09 октября 2011

Вопрос:

У меня есть форма с текстовым полем, просмотром файла (uploadify) и кнопкой отправки. Я отправляю эту форму через AJAX. Когда я выбираю файл с помощью файлового браузера, он автоматически загружается в папку, определенную для параметра folder . Теперь после отправки формы я хочу сохранить данные в базу данных. Я могу получить данные других полей после публикации, но не могу загрузить загруженные файлы. Я хочу массив загруженных файлов в $ _POST после отправки формы следующим образом:

$_POST( 'fullname'=>'ABC', 'uploaded_files' => array( '/uploads/abc.doc', '/uploads/xyz.doc' ) );

Как это возможно?


У меня пока есть следующая реализация.

JQuery:

jQuery('.FileUpload').uploadify({
        'uploader'  : '/uploadify/uploadify.swf',
        'script'    : '/uploadify/uploadify.php',
        'cancelImg' : '/uploadify/cancel.png',
        'folder'    : '/uploads',
        'auto'      : true,
        'queueID'   : 'fileQueue',
        'removeCompleted':false
      }); 

HTML:

<form action='save.php' method='POST' enctype='multipart/form-data'>

Name: <input type='text' name='fullname' id='fullname'>

Source File: <input type='file' name='photos' id='photos' class='FileUpload'>
<div id="fileQueue"></div>

<input type='submit' name='submit' id='submit'>

</form>

Ответы [ 2 ]

2 голосов
/ 09 октября 2011

Помните, что uploadify имеет событие onComplete, которое может вернуть данные обратно из вашего параметра 'script'.

Итак, когда uploadify передает файл, вы можете затем иметьскрипт возвращает путь к месту хранения файла, а затем извлекает / сохраняет его в форме на основе того, что было передано обратно в событии onComplete.(Это будет часть response обратного вызова onComplete)

Оттуда вы можете заполнить скрытые поля формы, которые отправляются вместе с формой (как продемонстрировал AurelioDeRosa) и заполненысо значением response value (s).

2 голосов
/ 09 октября 2011

Используя javascript, вы можете добавить некоторые входные данные в форму для отслеживания загруженных файлов. Например, вы можете поставить:

<input type='hidden' name='files[]' value="FILENAME1">
<input type='hidden' name='files[]' value="FILENAME2">
<input type='hidden' name='files[]' value="FILENAME3">
...