1

uploadifyイベントが発生したときにコントローラーにデータを送信したいのですが、どうすればよいですか?たとえば、データプロパティを介してajaxを使用してデータを送信できます。次に、uploadifyを使用してデータをコントローラーに送信します。事前にこのおかげで助けてください。

$("#image_upload1").uploadify({
            'buttonText':'Select',
            'fileTypeDesc' : 'Image Files',
            'fileTypeExts' : '*.gif; *.jpg; *.png',
            'swf':'<?php echo base_url()?>resources/flash/uploadify.swf',
            'uploader':'<?php echo site_url('item/update_item_image1')?>',
            'width': 40,
            'multi':false,
            'onUploadComplete':function(file)
            {
                $('#original').hide();
                $('#image1').attr('style','background-image:url("../resources/uploads/18/thumbnail/'+file.name+'")');
                $('#hidden_img_value1').attr('value',file.name)
            }
        });
4

2 に答える 2

0

このようにformdataオプションを使用できます

$("#image_upload1").uploadify({
        'formData'      : {'someKey' : 'someValue', 'someOtherKey' : 1},
        'swf'           : '/uploadify/uploadify.swf',
        'uploader'      : '/uploadify/uploadify.php'
    });

ドキュメントにあるように、PHPで$_GETまたは配列を使用してこれらの値にアクセスできます。$_POST

于 2012-06-01T05:54:05.230 に答える
0

これが私がそれを行う方法です

基本的に、すべてのアップロードの最後に、onAllComplete メソッドで、ファイル名やその他の変数など、必要なすべての情報を作成し、jquery ajax 呼び出しを使用してコントローラー メソッドに投稿します。この例では、vId、vYear、および UploadFileNames の値がドキュメントの別の場所に設定されていますが、コントローラに戻す必要のあるデータに置き換えることができます。

$('#file_input_que').uploadify({
    'uploader'  : '/core/javascript/uploadify/uploadify.swf',
    'script'    : '/core/javascript/uploadify/uploadify.php',
    'cancelImg' : '/core/javascript/uploadify/cancel.png',
    'folder'    : '/listings/tmp',
    'auto'      : true,
    'multi'     : true,
    'queueSizeLimit' : <?=12-count($imagecount)?>,
    'fileExt'   : '*.jpg;*.jpeg;*.png;*.gif',
    'fileDesc'    : 'Image Files',
    'sizeLimit'   : 5242880,
    'onAllComplete': function(event, data) {
        var vId = $('#vehicleId').val();
        var vYear = $('#vehicleYear').val();

        $.ajax({
            url:'<?=site_url('/dash/uploadImagesAjax')?>',
            type: 'POST',
            data: { vId: vId, vYear: vYear, uploadedFileNames: uploadedFileNames },
            success: function(data) {
                location.reload();
            } 

        }); 

        hideOverlay("ajaxoverlay");
    } 
  });
于 2012-06-01T19:30:16.123 に答える