2015-06-20 103 views
1

的url属性我使用这个上传插件:https://github.com/harrydeluxe/extjs-ux#extuxuploadbutton如何改变Ext.ux.upload.Button

而且我想改变“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',    
    //... 
    } 
//... 
}); 

回答

1

本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'; 
+0

Guilherme,非常感谢! –

+0

我用MVC方式重写了这个按钮(只是删除了Ext.create,renderTo并添加了Ext.define)并且它停止了工作。按钮显示,但没有插件操作。我为此奋斗了几天。你可以给我一些建议吗? –

+0

嗨谢尔盖,因为它的一个不同的问题,我会建议你发布这个问题的另一个问题。稍后您可以在此留下链接,我会看看。 :) –