在TYPO3 Fluid中如何设置仅接受PDF文件上传?(TYPO3 7.6.21)
在TYPO3 7.6.21 Fluid中实现PDF文件上传限制
你遇到的问题很典型——TYPO3 7.6版本的f:form.upload视图助手并没有将accept作为官方注册的参数,所以直接传递这个属性会触发那个Argument未注册的错误。不过有两种可靠的方式来实现仅接受PDF文件的限制:
方法1:使用additionalAttributes参数
Fluid的表单元素视图助手都支持additionalAttributes参数,它允许你添加任何自定义的HTML属性到最终渲染的元素上。你只需要把accept属性以键值对的形式传入这个参数即可:
<f:form.upload name="myFile" additionalAttributes="{accept: 'application/pdf'}" />
渲染后生成的HTML会和你想要的普通HTML效果一致:
<input type="file" name="myFile" accept="application/pdf" />
方法2:直接使用原生HTML输入框(配合Fluid表单上下文)
如果你更习惯原生HTML写法,也可以直接用<input type="file">,但要注意利用Fluid的f:form.fieldName视图助手来生成正确的字段名,这样能确保和Fluid表单的命名规则一致(比如当表单有前缀时):
<input type="file" name="{f:form.fieldName(name: 'myFile')}" accept="application/pdf" />
这两种方法在TYPO3 7.6.21版本中都能正常工作,任选其一即可解决你的问题。
内容的提问来源于stack exchange,提问作者Karthik
相关产品推荐
相关产品推荐

