我已经设法让 Filepond 上传文件,将它们放在正确的文件夹中,并将必要的详细信息添加到 mysql 数据库中。但是,由于原始图像的分辨率非常高,我需要制作缩略图。应该放在称为“缩略图”的子文件夹中的较小版本的图像。
我使用的是 PHP 样板,一些文档没有涵盖那里使用的方法。例如,我只是为了测试而尝试这样做:
FilePond.setOptions({
maxFileSize: '25MB',
instantUpload: true,
server: 'api/',
imageTransformVariants: {
'thumb_medium_': transforms => {
transforms.resize.size.width = 384;
return transforms;
},
'thumb_small_': transforms => {
transforms.resize.size.width = 128;
return transforms;
}
}
});
let pond = FilePond.create(document.querySelector('input[type="file"]'));
这给了我这个错误:
index.php?id=1383:67 Uncaught (in promise) TypeError: Cannot read property 'size' of undefined
at thumb_medium_ (index.php?id=1383:67)
at filepond-plugin-image-transform.js:898
at filepond-plugin-image-transform.js:987
at new Promise (<anonymous>)
at filepond-plugin-image-transform.js:986
at filepond-plugin-image-transform.js:1066
at Array.map (<anonymous>)
at filepond-plugin-image-transform.js:1065
at new Promise (<anonymous>)
at filepond-plugin-image-transform.js:941
显然,我可以为缩略图制作第二个 Filepond-upload,但我怀疑应该有一种方法可以自动执行此操作。如何使变体起作用,以及如何使它们在不同的文件夹和相同的文件名中,而不是给它们一个前缀?