プログラムでdojox/form/Uploaderを作成するためのドキュメントが見つかりません。自分で試してみましたが、プラグインの登録メカニズムが壊れているようです。
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の例があります。
私が理解している限り、dojox / form/Uploaderとdojox/form / uploader / plugins / IFrameのソースコードでは、プラグインはdojox.form.addUploaderPlugin関数を介して登録されます。この関数は、selfプラグインとプラグインプラグインを使用してUploaderウィジェットクラスを再宣言します。前任者。ただし、Uploaderウィジェットのキーメソッド「upload」がHTML5プラグイン(Iframeプラグインに自動的に含まれている)によってオーバーライドされることはありません。
このバグですか?または私は何か間違ったことをしていますか?
助けてくれてありがとう!