Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TYPO3:如何将文件上载与extbase一起使用?_Typo3_Extbase - Fatal编程技术网

TYPO3:如何将文件上载与extbase一起使用?

TYPO3:如何将文件上载与extbase一起使用?,typo3,extbase,Typo3,Extbase,我正在基于extbase/fluid构建一个简单的扩展,它具有 在前端插件中上载表单。它在6.0.4中工作,但现在我 尝试上载文件时出现以下异常: #1297759968:属性路径“fichier”处的属性映射时发生异常:未找到可用于从“数组”转换的转换器 “串” 问题似乎与web请求 接收上载文件的数组,但模型将其存储为 一串我怎样才能摆脱这个异常?我应该如何处理文件 在extbase中上传 扩展是使用扩展生成器启动的fichier是模型中的字符串属性,包含上载文件的名称(位于uploads

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

#1297759968:属性路径“fichier”处的属性映射时发生异常:未找到可用于从“数组”转换的转换器 “串”

问题似乎与web请求 接收上载文件的数组,但模型将其存储为 一串我怎样才能摆脱这个异常?我应该如何处理文件 在extbase中上传


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

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

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

/**
*初始化操作
*/
公共函数初始化(){
如果($this->arguments->hasArgument('myModel')){
$this->arguments->getArgument('myModel')->getPropertyMappingConfiguration()->setTargetTypeForSubProperty('upload','array');
}
}

您需要提供更多详细信息。我添加了一些详细信息。现在更清楚了吗?可能值得指出的是,
initializeAction
是为控制器的每个动作调用的,并且
myModel
是指给定给
createAction()函数的变量名。