1

CakePHPでjqueryuploadifyを使用していますが、$ _SESSIONで問題が発生しています。これは、$ this-> request-> params ['named']['uid'によってユーザーIDを受け取る以下のアクションがあるためです。 ]問題は、uploadifyを有効にすると、アクションが2回実行されますが、2番目のデータ$ this-> request-> params['named']['uid']が失われることです。

以下は、理解を深めるために簡略化されたコードです。

FilesController.php / index**2回実行

public function index() {
        $id = $this->request->params['named']['uid'];
        $us = $this->User->findById($id)['User'];
        $dir = UPLOAD_DIR . $us['id'] . '/';
        CakeSession::write('Files.atual', $dir);
        $this->set('u', $us);
        //$this->autoRender = false;
}

Views / Elements / up.ctp//Uploadifyを有効にする

<?php $timestamp = time(); ?>
    $(function() {
        $('#file_upload').uploadify({
            'formData'     : {
                'timestamp' : '<?php echo $timestamp; ?>',
                'token'     : '<?php echo md5('unique_salt' . $timestamp); ?>'
            },
            'swf'      : '<?= $this->request->webroot; ?>uploadify.swf',
            'preventCaching' : false,
            'uploader' : '<?= $this->request->webroot; ?>uploadify.php?session_id=<?php echo(session_id()); ?>',
            'buttonClass' : 'button icon-paperclip',
            'buttonText' : 'Enviar Arquivos',
            'onUploadSuccess' : function(file, data, response) {
                $('.files-icons').load('<?= $this->request->webroot; ?>files/reload/<?= $u['id'] ?>');
            }
        });
    });
4

1 に答える 1

0

アップロード アクションへの二重リクエストは、uploadify の button_background_url プロパティのバグが原因です。.uploadify 構成でこれを設定することにより、アクションに対して行われる追加のリクエストを停止する独自の背景画像を設定できます。

'button_image_url': '/img/cake.icon.png',

例として。null またはその他の背景画像に設定したい場合があります。

于 2013-03-12T11:19:58.907 に答える