我正在构建一个基于 extbase/fluid 的简单扩展,它在前端插件中有一个上传表单。它在 6.0.4 中工作,但现在当我尝试上传文件时出现以下异常:
#1297759968:属性路径“fichier”的属性映射时出现异常:找不到可用于从“array”转换为“string”的转换器。
问题似乎与 Web 请求接收到上传文件的数组有关,但模型将其存储为字符串。我怎样才能摆脱这个异常?我应该如何处理 extbase 中的文件上传?
扩展是使用Extension Builder
. fichier
是 Model 中的字符串属性,包含上传文件的名称(位于 中uploads/tx_myext/
)。该插件的模板包含一个从form.upload
ViewHelper 构建的上传字段。在 TYPO3 6.0.4 上,当我提交表单时,我收到一个对象作为函数的参数createAction
。从那个对象,我调用getFichier
它返回上传文件的文件数组。然后,我可以提取原始文件名,将临时文件复制到正确的位置,并fichier
使用原始文件名设置属性的值。
现在,在 TYPO3 6.1.0 中,我在进入createAction
函数之前得到了上述异常。我的客人是 PropertyMapper 正在尝试将文件数组转换为字符串以匹配fichier
属性类型。
我不知道的是它之前的工作方式是一个错误,还是它现在的工作方式是一个错误。如果它真的按照预期的方式工作,我应该如何处理 extbase 扩展中的文件上传?