Extjs - 多上传文件

时间:2013-06-22 02:13:41

标签: extjs file-upload upload extjs4.1

我正在使用PHP 单上传文件。现在我正在使用多上传文件。
我发现了一个问题 Why don't added records appear in grid? 也许这是我找到的最好的多上传文件。我的代码在这里 http://jsfiddle.net/VQQea/

                    var form = Ext.getCmp('form').getForm();
                    if(form.isValid()){ 
                        form.submit({
                             method: 'POST',
                             url: 'example.php',
                             success: function(fp, o) {
                             }
                        });
                    }else {
                        alert('fail'); 
                    }

但我不知道如何使用php文件。
任何人都可以告诉我一个php文件上传多个文件,非常感谢:)。

编辑:
我的下面代码将上传最后一个文件(不是多个文件:()。我如何上传多个文件谢谢。

<?php
    if(isset($_FILES['fileuploadfield-1017-inputEl'])) {
        $file_name = $_FILES['fileuploadfield-1017-inputEl']['name'];
        $file_tmp =$_FILES['fileuploadfield-1017-inputEl']['tmp_name'];

        move_uploaded_file($file_tmp,$file_name);

        echo "{success:true}";
    }else {
        echo "{failure:true}";  
    }
?>

1 个答案:

答案 0 :(得分:0)

Ext.define('Ext.ux.form.MultiFile', {
    extend: 'Ext.form.field.File',
    alias: 'widget.multifilefield',

    initComponent: function () {
        var me = this;

        me.on('render', function () {
            me.fileInputEl.set({ multiple: true });
        });

        me.callParent(arguments);
    },

    onFileChange: function (button, e, value) {
        this.duringFileSelect = true;

        var me = this,
            upload = me.fileInputEl.dom,
            files = upload.files,
            names = [];

        if (files) {
            for (var i = 0; i < files.length; i++)
                names.push(files[i].name);
            value = names.join(', ');
        }

        Ext.form.field.File.superclass.setValue.call(this, value);

        delete this.duringFileSelect;
    }
});

ExtJS 4.2.2的多次上传现场演示为here