如何更改 url 属性 的 Ext.ux.upload.Button

How to change the url property of Ext.ux.upload.Button

我正在使用这个上传插件:https://github.com/harrydeluxe/extjs-ux#extuxuploadbutton

而我想改变"url"属性。请告诉我这怎么可能?

我试过这样做但没有用:

UploadObject.uploader.url = '/newUrl.php?ObjId=1'; 


Ext.Loader.setConfig({
    enabled: true,
    paths: {
        'Ext.ux': 'http://extjs.cachefly.net/extjs-4.1.1-gpl/examples/ux/',
        'Ext.ux.upload': '../../ux/upload'
    }
});

Ext.require(['Ext.grid.*',
        'Ext.data.*',
        'Ext.util.*',
        'Ext.state.*',
        'Ext.ux.upload.Button',
        'Ext.ux.upload.plugin.Window']);

Ext.onReady(function() {
UploadObject = Ext.create('Ext.ux.upload.Button', {
    renderTo: Ext.getBody(),
    text: 'Select files',
    //singleFile: true,
    plugins: [{
                  ptype: 'ux.upload.window',
                  title: 'Upload',
                  width: 320,
                  height: 350
              }
    ],
    uploader: 
    {
        url: '/1/getimages.php?ObjectId=',
        uploadpath: '/Root/files',
        autoStart: false,
        max_file_size: '2020mb',            
    //...
    }
//...
});

本UX使用plupload插件上传文件,遗憾的是,它没有提供快速替换上传的方法url。

首先,创建对上传按钮的引用,如果您只有一个上传者,可以这样创建: var uploadButton = Ext.ComponentQuery.query('uploadbutton')[0];

对 plupload 插件的引用将在 uploader.uploader 内,所以 运行 这个:

var uploadButton = Ext.ComponentQuery.query('uploadbutton')[0],
    uploader = uploadButton.uploader.uploader;   
uploader.settings.url = '/newUrl.php?ObjId=1';

如果您想保留您的代码,没关系,只需确保在创建 UploadObject 之前添加 var

var UploadObject = Ext.create('Ext.ux.upload.Button', {
    renderTo: Ext.getBody(),
    text: 'Select files',
    //singleFile: true,
    plugins: [{
        ptype: 'ux.upload.window',
        title: 'Upload',
        width: 320,
        height: 350
    }],
    uploader: {
        url: '/1/getimages.php?ObjectId=',
        uploadpath: '/Root/files',
        autoStart: false,
        max_file_size: '2020mb',
    //...
    }
//...
});

UploadObject.uploader.uploader.settings.url = '/newUrl.php?ObjId=1';