防止相同 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);
}
有什么方法可以防止添加已选择的文件吗?例如,检测以前添加的文件中是否已经存在相同的名称?在表单发布或发送到服务器之前是否进行检查?
这是我在名为 "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);
}