如何在filepond中获取已还原文件的origin属性



我遵循了filepond文档中关于设置初始文件以预填充filepond的内容。现在,我想写一个自定义的revert函数,在这个函数中,我可以使用基于文件来源的不同函数。

以下是一个假设代码,用于显示我想要实现的目标:

#hypothetical code         
revert: (uniqueFileId, load, error) => {
console.log('uniqueFileId is +' uniqueFileId);
const origin = ? ; //cannot figure out how to get file origin.
if (origin =='1'){ // origin is input
// run default function to remove input file
} else if (origin =='2'){ // origin is limbo
// run custom function to remove limbo file from server
}); 
} else { // origin is local
// run custom function to remove local file from server
}
error('oh my goodness');
// Should call the load method when done, no parameters required
load();
},

问题1:我无法获取文件的来源。我在revert函数中尝试了以下代码,但都没有成功。我应该如何获得文件的来源?

const origin = origin;
console.log('origin is ' + origin); // console not printing anything, no error message.
const origin1 = FilePond.getFile().origin;
console.log('origin1 is ' + origin1);// console not printing anything, no error message.

问题2:假设我可以获得文件的来源,我应该如何编写函数来删除输入文件?(在原点==1的情况下(?我发现,当我在新添加的文件上单击"取消"按钮时,uniqueFileId为"成功"。我不确定这是不是应该的方式,因为文件还没有上传,或者我做错了什么。

在"LIMBO"的情况下,uniqueFileId正确地显示为文件名,如"1.jpg"。我能够将此Id传递给服务器。

server.revert函数仅对已处理的limbo原点和输入文件调用。对于local文件,使用server.remove函数。源在服务器方法中不可用。

如果你确实需要它,你可以存储一个单独的文件列表并比较文件id。在server.revert方法中,你可以使用该列表来查看它是什么类型的文件。

const myFiles = {
'myuniquefileid': 'limbo',
'myotheruniquefileid': 'local',
}
FilePond.create({
server: {
revert: (uniqueFileId, load, error) => {
// origin
const origin = myFiles[uniqueFileId];
// more code
}
}
})

最新更新