Использование Uploadify с каркасом Codeigniter - PullRequest
0 голосов
/ 09 февраля 2012

Я пытаюсь использовать Uploadify v2.1.4 с Codeigniter v2.1. Я понимаю, что есть проблемы с флэш-памятью, которая не отправляет данные сеанса на контроллер, который использует codeigniter, возвращающий ошибку http 302. вместо сценария загрузки.

Я видел различные решения, но они все для старых версий фреймворка, особенно для codeigniter. Кто-нибудь нашел недавнее решение для интеграции uploadify с CI? Я могу заставить скрипт работать, поместив скрипт загрузки вне директории CI, но я хочу использовать функции CI, чтобы это не было хорошим решением для меня.

Для подтверждения полученного сообщения об ошибке «HTTP 302» ... т. Е. Сценарию загрузки запрещен доступ к / a / reports / uploadify

Это jquery

$(document).ready(function() {
  $('#file_upload').uploadify({
    'uploader'  : '/swf/uploadify.swf',
    'script'    : '/a/reports/uploadify',
    'cancelImg' : '/img/cancel.png',
    'folder'    : '/uploads/originals', 
    'auto'      : true,
    'fileExt'   : '*.jpg;*.pdf;*.doc',
    'fileDesc'  : 'jpg, pdf or doc',
    'hideButton': false,
    'removeCompleted':false
  });

Любой мой контроллер

class Reports extends MY_Controller
{
public function uploadify()
{
    log_message('info','uploadify method being called');

    if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
    $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];

    log_message('info', 'File Upload: Temp file created '.$tempFile);
    log_message('info', 'File Upload: Target path for upload '.$targetPath);
    log_message('info', 'File Upload: Target file for upload '.$targetFile);

    $fileTypes  = str_replace('*.','',$_REQUEST['fileext']);
    $fileTypes  = str_replace(';','|',$fileTypes);
    $typesArray = split('\|',$fileTypes);
    $fileParts  = pathinfo($_FILES['Filedata']['name']);

    if (in_array($fileParts['extension'],$typesArray))
    {       
        move_uploaded_file($tempFile,$targetFile);
        echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);
    }
    else 
    {
        log_message('error', 'File Upload: Invalid file type uploaded ['.$fileParts['extension'].']');
        echo 'Invalid file type.';
    }
    }
}
}

1 Ответ

2 голосов
/ 10 февраля 2012

В конце концов мне удалось найти это решение.Не лучший, но все же хороший обходной путь.

http://ellislab.com/forums/viewthread/150550/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...