如何使用uploadify将数据发送到控制器

时间:2012-06-01 05:45:43

标签: php jquery codeigniter uploadify

我想在uploadify事件发生时向控制器发送一些数据。我该怎么做?例如,我可以使用ajax通过数据属性发送数据。现在我想使用uploadify将数据发送到controller.help我提前感谢。

$("#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)
            }
        });

2 个答案:

答案 0 :(得分:0)

您可以像这样使用formdata选项

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

正如文档所说,您可以使用PHP中的$_GET$_POST数组来访问这些值。

答案 1 :(得分:0)

我是这样做的

基本上,在所有上传结束时,在onAllComplete方法中,我构建了我需要的所有信息,包括文件名和一些其他变量,并使用jquery ajax调用将其发布到控制器方法。在我的示例中,vId,vYear和uploadedFileNames的值在我的文档中的其他位置设置,但您可以将它们替换为您需要传递回控制器的任何数据。

$('#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");
    } 
  });