gpt4 book ai didi

TYPO3:如何使用extbase上传文件?

转载 作者:行者123 更新时间:2023-12-01 10:00:55 25 4
gpt4 key购买 nike

我正在构建一个基于 extbase/fluid 的简单扩展,它有一个在前端插件中上传表单。它在 6.0.4 中工作,但现在我明白了当我尝试上传文件时出现以下异常:

#1297759968: Exception while property mapping at property path "fichier":No converter found which can be used to convert from "array" to "string".

这个问题好像和web请求有关接收上传文件的数组,但模型将其存储为字符串。我怎样才能摆脱这个异常(exception)?我应该如何处理文件上传到 extbase?


扩展是使用 Extension Builder 启动的。 fichier 是模型中的字符串属性,包含上传文件的名称(位于 uploads/tx_myext/)。该插件的模板包含一个从 form.upload ViewHelper 构建的上传字段。在 TYPO3 6.0.4 上,当我提交表单时,我收到一个对象作为 createAction 函数的参数。从该对象,我调用 getFichier 返回上传文件的文件数组。然后,我可以提取原始文件名,将临时文件复制到正确的位置,并使用原始文件名设置 fichier 属性的值。

现在,在 TYPO3 6.1.0 中,我在进入 createAction 函数之前得到了上述异常。我的客人是 PropertyMapper 试图将文件数组转换为字符串以匹配 fichier 属性的类型。

我不知道它以前的工作方式是错误,还是现在的工作方式是错误。如果它真的按照预期的方式工作,我应该如何处理 extbase 扩展中的文件上传?

最佳答案

 /**
* initialize actions
*/
public function initializeAction() {
if ($this->arguments->hasArgument('myModel')) {
$this->arguments->getArgument('myModel')->getPropertyMappingConfiguration()->setTargetTypeForSubProperty('upload', 'array');
}
}

http://www.typo3lexikon.de/typo3-tutorials/extensions/extbase/property-mapper.html

关于TYPO3:如何使用extbase上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16405963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com