过去,我已经以不同的方式实现了FAL前端上传,例如使用自己的文件引用模型等。我还尝试了helhum https://github.com/helhum/upload_example的上传示例扩展。但是如果验证失败,文件也会被保存。所以我在网络服务器上有很多垃圾文件。现在我寻找实现具有TYPO3核心功能的FAL上传的可能性。或者是否有最佳做法来处理没有数据垃圾的FAL上传?
答案 0 :(得分:0)
关于概述的用例(文件上传成功,表单的其余部分有验证错误,用户退出会话)我建议将上传的文件存储到某个临时文件夹,并在整个模型后将它们移动到另一个位置是有效的,可以使用存储库保存。
关注Helmut's example,可以在控制器逻辑中定义临时上传文件夹
$uploadConfiguration = [
UploadedFileReferenceConverter::CONFIGURATION_UPLOAD_FOLDER
=> '1:/temporary-uploads/',
];
$this->arguments[$argumentName]
->getPropertyMappingConfiguration();
->forProperty('image')
->setTypeConverterOptions(
UploadedFileReferenceConverter::class,
$uploadConfiguration
);
然后在特定的控制器操作中将文件移动到真实文件夹
$model->getImage()->getOriginalResource()->moveTo(
ResourceFactory::getInstance()->retrieveFileOrFolderObject(
'1:/valid-uploads/'
)
);
所有未完成的尝试都存储在专用文件夹中,然后可以通过某些计划任务进行清除。