【问题标题】:How do I restrict the file type with uploadcare in javascript?如何在javascript中使用uploadcare限制文件类型?
【发布时间】:2014-11-10 18:35:33
【问题描述】:

当我打开带有 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.
        });

有没有办法推送验证器?有什么方法可以访问小部件吗?如您所见,我正在打开一个对话框,因此我无法在任何地方访问该小部件。

【问题讨论】:

  • 如果它传递一个 accept 参数到文件输入的属性中,你就是黄金。

标签: javascript uploadcare


【解决方案1】:

不幸的是,当前 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,可以在以后的版本中更改

【讨论】:

    猜你喜欢
    • 2010-12-30
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多