当我打开uploadcare对话框时,我试图限制文件类型(仅限mp3文件)。
uploadcare.loadFileGroup(soundGroupID)
.done(function (fileGroup) {
uploadcare.openDialog(fileGroup.files(), {
multiple: true,
multipleMin: 0,
fileTypes="mp3"
}).done(
function (file) {
file.promise().done(
function (fileInfo) {
//TODO Something
});
});
})
.fail(function () {
// Something went wrong.
});
有没有办法推送验证器?有没有办法访问小部件?如您所见,我正在打开一个对话框,因此我无法在任何地方访问该小部件。
答案 0 :(得分:2)
不幸的是,当前API中没有用于对话框的验证器,仅适用于小部件。但是你可以创建假小部件并在其上使用.openDialog()
方法。
uploadcare.loadFileGroup(soundGroupID)
.done(function (fileGroup) {
var widget = uploadcare.MultipleWidget('<input data-multiple multiple-min="1">');
widget.validators.push(function(info) {
if (info.name !== null) {
if ( ! /\.mp3$/i.test(info.name)) {
throw Error('mp3-only');
}
}
});
widget.openDialog(null).done(
function (file) {
file.promise().done(
function (fileInfo) {
//TODO Something
});
});
})
.fail(function () {
// Something went wrong.
});
或者,您可以在私人__validators
选项中传递验证码列表,但这是内部API,未来版本中可以更改。