Я не могу найти никаких документов о создании dojox/form/Uploader программно. Я попробовал это самостоятельно, но похоже, что механизм регистрации плагинов как-то сломан.Programmatic Dojox Uploader - ajax upload not working
require([
"dojo/dom-construct",
"dijit/form/Button",
"dojox/form/Uploader",
"dojox/form/uploader/FileList",
"dojox/form/uploader/plugins/IFrame",
"dojo/domReady!"
], function(domConstruct, Button, Uploader, UploaderFileList) {
var form = domConstruct.create('form', {
method: 'post',
enctype: 'multipart/form-data',
class: 'Uploader'
}, document.body);
var up = new Uploader({
label: 'Pick files',
multiple: true,
url: '/echo/json/'
}).placeAt(form);
var list = new UploaderFileList({
uploader: up
}).placeAt(form);
var btn = new Button({
type: 'submit',
label: 'upload',
onClick: function() {
up.upload();
}
}).placeAt(form);
btn.startup();
up.startup();
list.startup();
});
Пример по jsfiddle here.
Насколько я понимаю, исходный код dojox/form/Uploader и dojox/form/uploader/plugins/IFrame, плагин зарегистрирован через функцию dojox.form.addUploaderPlugin, которая переопределяет класс виджетов Uploader, используя self и подключаемые плагины в качестве своих предшественников. Но ключевой метод «загрузки» виджета Uploader никогда не переопределяется плагином HTML5 (который автоматически включается с плагином iframe).
Это ошибка? Или я делаю что-то неправильно?
Спасибо за помощь!
Я проснулся сегодня с точно той же идеей :-) спасибо вам большое за ответ! – JoshuaBoshi
Спасибо за это mschr. –