更改文件上传的存储文件夹
Change storage folder on file upload
我的表单包含
这样的字段
'name, firstname, street, zip, city and image'。
图片是上传的
场地。一切正常,我可以将图像上传为 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');
默认为文件管理员。但是 change/modify 这个存储文件夹目的地的最佳方式是什么?
如果您想指定上传的目标文件夹,我建议您看一下 FAL File Upload example from Helmut Hummel. For his example, there is also a blogpost,它描述了文件上传的工作原理以及为什么您应该在 TYPO3 中使用 TypeConverter 进行 FAL 文件上传6.2+
我已经多次实施该解决方案并且效果很好,因为它涵盖了很多您在实施文件上传时可能 运行 遇到的场景(例如验证、错误处理、文件存在时的文件替换) )
我的表单包含
这样的字段'name, firstname, street, zip, city and image'。
图片是上传的
场地。一切正常,我可以将图像上传为 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');
默认为文件管理员。但是 change/modify 这个存储文件夹目的地的最佳方式是什么?
如果您想指定上传的目标文件夹,我建议您看一下 FAL File Upload example from Helmut Hummel. For his example, there is also a blogpost,它描述了文件上传的工作原理以及为什么您应该在 TYPO3 中使用 TypeConverter 进行 FAL 文件上传6.2+
我已经多次实施该解决方案并且效果很好,因为它涵盖了很多您在实施文件上传时可能 运行 遇到的场景(例如验证、错误处理、文件存在时的文件替换) )