在文件上载时更改存储文件夹

时间:2015-08-01 12:45:26

标签: typo3 extbase

我的表格有

等字段

'姓名,名字,街道,邮编,城市和图片'。

图片是上传的 领域。一切正常,我可以将图像上传为Filereferrence。但图像每次都上传到"fileadmin/"。我想将图片上传到"/uploads/<extensionname>""fileadmin/user_uploads/<extensionname>"

实现上传和文件移动的部分看起来像。

            $storageRepository = $this->objectManager->get('TYPO3\\CMS\\Core\\Resource\\StorageRepository');

            $storage = $storageRepository->findByUid('1');

            $fileData = array();
            $fileData['name'] = $_FILES['tx_oaevents_eventslisting']['name']['image'][0];
            $fileData['type'] = $_FILES['tx_oaevents_eventslisting']['type']['image'][0];
            $fileData['tmp_name'] = $_FILES['tx_oaevents_eventslisting']['tmp_name']['image'][0];
            $fileData['size'] = $_FILES['tx_oaevents_eventslisting']['size']['image'][0];


            $newFileObject = $storage->addFile(
                $fileData['tmp_name'], $storage->getRootLevelFolder(), $fileData['name']
            );

此行定义存储文件夹表单数据库:

$storage = $storageRepository->findByUid('1');

默认为fileadmin。但是更改/修改此存储文件夹目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

如果您要为上传指定目标文件夹,建议您查看Helmut Hummel的FAL File Upload example。对于他的示例,还有一个blogpost,它描述了文件上传的工作原理以及为什么要在TYPO3 6.2+中使用TypeConverter进行FAL文件上传

我已多次实施该解决方案并且效果很好,因为它涵盖了实现文件上载时可能遇到的很多场景(例如验证,错误处理,文件替换,如果文件存在)