防止相同 files/photos select

Prevent same files/photos select

有什么方法可以防止添加已选择的文件吗?例如,检测以前添加的文件中是否已经存在相同的名称?在表单发布或发送到服务器之前是否进行检查?

这是我在名为 "pond" 的 Filepond 实例中使用的解决方案:

var filenames = [];
pond.on('addfile',
    function(error, file){
        if(filenames.includes(file.filename)){
            error = {
                main: 'duplicate',
                sub: 'A file with that name already exists in the pond.'
            }
            handleFileError(error, file);
        }
        if(error) handleFileError(error, file);
        filenames.push(file.filename);
    });

pond.on('removefile',
    function(error, file){
        var index = filenames.indexOf(file.filename);
        filenames.splice(index, 1);
    });

function handleFileError(error, file){
    var err = document.querySelector(".filepond-error");
    err.innerHTML = file.filename + " cannot be loaded " + error.sub;
    pond.removeFile(file);
}