Как отладить Uploadify? - PullRequest
       8

Как отладить Uploadify?

4 голосов
/ 08 июля 2011

Я не знаю, как отлаживать Uploadify. Кажется, все работает, но нет загруженного файла. Из браузера ... Обновление события выводит "Готово!". До того, как я использовал Uploadify, PHP-код работал ... поэтому я не знаю, в чем проблема.

<input id="file_upload" name="file_upload" type="file" rel="<?php echo $group_id; ?>" />

(без <form>)

В Javascript ...

$('#file_upload').uploadify({
    'uploader'       : '/media/js/uploadify/uploadify.swf',
    'script'         : '/bio/community/group_picture/' + $('#file_upload').attr('rel'),
    'cancelImg'      : '/media/img/bio/_blog_delete.png',
    'buttonImg'      : '/media/img/bio/browse_files.png',
    'wmode'          : 'transparent',
    'auto'           : true,
    'width'          : 92,
    'sizeLimit'      : 31457280,       
    'height'         : 26,
    'scriptData'     : {'session' : session_id},
    'onAllComplete'  : function() {  location.reload(); }
});

В PHP:

Контроллер:

public function action_group_picture($group_id) {

    $model_group = Model::factory('Bio_Community_Group');

    if (!empty($_FILES)) {

        $model_group->add_picture($_FILES['file_upload'], $group_id);

        $this->request->redirect('bio/community/edit_group/' . $group_id);

    }

    exit;

}

Модель:

public function add_picture($image, $group_id) {

    $filename = $group_id . '.jpg';
    $location = 'uploads/bio/community/groups/' . $filename;

    $image = Image::factory($image['tmp_name']);

    if ($image->width !== 60 || $image->height !== 60) {

        $image->crop(60, 60);

    }

    $image->save($location);

}

Кстати, я пользуюсь Kohana. Есть идеи, почему это не работает или как отлаживать?

Ответы [ 3 ]

7 голосов
/ 28 июля 2012

Попробуйте использовать debug:true.

Отображается окно с журналом сценария:

$(function() {
    $("#file_upload").uploadify({
        'debug'    : true,
        'swf'      : '/uploadify/uploadify.swf',
        'uploader' : '/uploadify/uploadify.php' 
    });
});
2 голосов
/ 09 июля 2011

Я записываю все события js на консоль. Их много: onSelect, onOpen, onProgress, onComplete и т. Д. Это может дать вам немного больше представления о том, что происходит, когда работает uploadify.

Например:

onComplete : function ( event, ID ...
    console.log( event );   
    console.log( ID );
    ....

и т. Д. И т. П.

Смотрите здесь: http://www.uploadify.com/documentation/

В общем, видеть внутри - это боль. Мои чарлы по какой-то причине не ловят трафик сервера .....

РЕДАКТИРОВАТЬ: также, еще одна вещь, которую я склонен забывать, когда я глубоко в JS и вещи не возвращаются правильно: Является ли мой серверный вызов ошибок без ошибок? Uploadify не возвращает текст каких-либо кодов http, которые вы отправляете в своем ответе, поэтому даже если вы возвращаете 503 или что-то еще, вы не получите свой собственный текст ошибки. Я пытаюсь создать фиктивную форму отправки файлов только в формате html, чтобы убедиться в правильности кода на стороне сервера.

(примечание: Uploadify также по какой-то причине не распознает код состояния http 400 как ошибку, даже если он указан в спецификации: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1)

2 голосов
/ 08 июля 2011
  1. Используйте Firebug (плагин FireFox), чтобы получить информация о запросе информация (заголовки, HTTP-ответ и т. д.).
  2. Добавить вход в контроллер (как запрос точек сохранения).
  3. Проверьте логи httpd.
...