作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我打开带有 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.
});
有什么方法可以推送验证器吗?有什么方法可以访问小部件吗?如您所见,我正在打开一个对话框,因此我无法在任何地方访问该小部件。
最佳答案
不幸的是,当前 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.
});
或者,您可以在私有(private) __validators
选项中传递验证器列表,但这是内部 API,在未来的版本中可以更改。
关于javascript - 如何在 javascript 中使用 uploadcare 限制文件类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26850555/
我是一名优秀的程序员,十分优秀!