この質問はすでにこことここで回答されています。しかし、バージョン 1.5.6 では、FilesAdded(...) の前に init() を配置すると、完全に応答しなくなります。同様に、自動開始アップロードはどちらの方法でもまったく開始されません。
var csvUploader = new function() {
var self = this;
self.init = function() {
var uploader = new plupload.Uploader(
{
runtimes: 'html4',
url: 'http://localhost:5073/Document/Upload',
browse_button: 'uploadCsvButton',
max_file_size: '100mb',
chunk_size: '1mb',
unique_names: true,
filters: [{ title: "CSV files", extensions: "csv" }]
});
/* postion 1: uploader.init(); /**/
uploader.bind('FilesAdded', function(up, files) {
setTimeout(function () { up.start(); }, 500);
});
uploader.bind('FileUploaded', function (up, file) {
// do some stuff here...
});
/*position 2: */ uploader.init(); /**/
}; // self.init
}; // NS:csvUploader
このモジュールの初期化:
csvUploader.init();
では、経験豊富な同僚の何が問題なのですか? モジュラー パターンまたは他に何か?init() が位置 2 にあるため、メソッド FilesAdded の内容が呼び出されますが、up.start(); ファイルをサーバーにアップロードしないでください。アイデアはありますか?