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 中的$_GETor$_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 回答