qq.FileUploader не передает никаких данных $ _FILES - PullRequest
1 голос
/ 24 мая 2011

Я использую плагин fileUploader jQuery, я проверяю его, повторяя переменную $ _FILES, но она всегда возвращает пустое значение, и я получаю Failed-ответ для fileUploader.Есть идеи, почему он не передает данные изображения?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 января 2012

qqFileUPload пытается отправить данные файла, используя поток байтов, а не обычный POST. PHP только помещает файлы, которые были помещены в массив $ _FILES.

К счастью, qqFileUploader поставляется с классом, который получает специальную загрузку и сохраняет ее в файл для вас: https://github.com/valums/file-uploader/blob/master/server/php.php

Удачи!

PS. Я использовал этот загрузчик с Symfony, который ожидает массив FILE в формате, который PHP noramlly предоставляет в массиве $ _FILES. Поэтому мне пришлось сохранить файл на диск и создать поддельную запись массива, которую будут принимать формы Symfony. Это было сделано с помощью кода ниже (и классов, на которые я ссылался выше):

if ($filename = $request->getParameter('qqfile', false)) {
    // XMLHttpRequest stream'd upload

    $xhrUpload = new qqUploadedFileXhr();
    $tmp_name = 'tmp_creative_'.microtime(true);
    $tmp_file = sfConfig::get('sf_upload_dir').'/'.$tmp_name;
    $xhrUpload->save($tmp_file);
    list($width, $height, $type) = getimagesize($tmp_file);
    $file = array(
      'type' => $type,
      'size' => $xhrUpload->getSize(),
      'name' => $filename,
      'tmp_name' => $tmp_file
    );
} elseif (count($_FILES)) {
    // Normal file upload
    $file = array_shift($_FILES);
} else {
    throw new Exception("Did not receive uploaded file.");
}

$form->bind(array(), $file);

if($filename) 
{
  // If we saved the file manually, php won't consider it a tmp
  // file and we need to delete it ourselves. 
  unlink($tmp_file);
}
0 голосов
/ 03 января 2012

Большинство серверных блоков. Сторонние srcipts, такие как http://valums.com/ajax-upload/ .., чтобы обойти это, вам нужно добавить эти строки в ваш файл .htacess

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...