2

过去,我以不同的方式实现了 FAL 前端上传,例如使用自己的文件参考模型等。我还尝试了 helhum https://github.com/helhum/upload_example的上传示例扩展。但是如果验证失败,文件也会被保存。所以我在网络服务器上有很多垃圾文件。现在我寻找一种使用 TYPO3 核心功能实现 FAL 上传的可能性。或者是否有最佳实践来处理没有数据垃圾的 FAL 上传?

4

1 回答 1

0

关于概述的用例(文件上传成功,表单的其余部分有验证错误,用户退出会话)我建议将上传的文件存储到某个临时文件夹,并在整个模型有效并且可以将它们移动到另一个位置使用存储库持久化。

按照Helmut 的示例,可以在控制器逻辑中定义临时上传文件夹

$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/'
    )
);

所有未完成的尝试都存储在专用文件夹中,然后可以通过某些计划任务清除。

于 2016-10-14T14:47:40.803 回答