В прошлом я реализовывал загрузку внешнего интерфейса FAL различными способами, например, с помощью собственных эталонных моделей файлов и так далее. Я также попробовал загрузить пример расширения helhum https://github.com/helhum/upload_example. Но файлы будут сохранены также, если проверка не удалась. Так что у меня есть много мусорных файлов на веб-сервере. Теперь я ищу возможность реализовать загрузку FAL с основными функциями TYPO3. Или есть ли лучший способ обработать загрузку FAL без мусора?
Что касается изложенного варианта использования (загрузка файла завершилась успешно, в остальной части формы были ошибки проверки, пользовательский сеанс выхода), я бы предложил сохранить загруженные файлы во временную папку и переместить их в другое место, как только вся модель будет действительной и может быть сохранил с помощью хранилища.
Следующий Пример Гельмута можно определить временную папку загрузки в логике контроллера
$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/'
)
);
Все незаконченные попытки сохраняются в специальной папке и могут быть удалены с помощью некоторой запланированной задачи.
Других решений пока нет …