Exception 类型39.5:避免在丢失的图像上抛出exeption

Exception 类型39.5:避免在丢失的图像上抛出exeption,exception,migration,typo3,Exception,Migration,Typo3,当图像丢失时,我的TYPO3 9.5安装会抛出以下例外: TYPO3Fluid\Fluid\Core\ViewHelper\Exception Folder "/uploads/tx_owlslider/tosoh.gif/" does not exist. TYPO3 8.7没有做到这一点 我也在TYPO3_上下文“Production”中尝试了这一点 如何避免此错误,尤其是在生产环境中 谢谢 最后,我在扩展owl_滑块本身中修复了这个问题。 如果图像在物理上丢失,则不应渲染f:image-

当图像丢失时,我的TYPO3 9.5安装会抛出以下例外:

TYPO3Fluid\Fluid\Core\ViewHelper\Exception
Folder "/uploads/tx_owlslider/tosoh.gif/" does not exist.
TYPO3 8.7没有做到这一点

我也在TYPO3_上下文“Production”中尝试了这一点

如何避免此错误,尤其是在生产环境中


谢谢

最后,我在扩展owl_滑块本身中修复了这个问题。 如果图像在物理上丢失,则不应渲染f:image-tag:

 <v:media.exists file="uploads/tx_owlslider/{item.itemimage}">
      <f:then>
         <f:image class="lazyOwl" src="uploads/tx_owlslider/{item.itemimage}" height="{settings.slideHeight}" alt="{item.itemname}"/>
      </f:then>
      <f:else>
          {item.itemname}
      </f:else>
</v:media.exists>

{item.itemname}

将文件对象包装在一个条件中应该可以做到这一点

<f:if condition="{item.itemimage}">
     <f:image class="lazyOwl" src="uploads/tx_owlslider/{item.itemimage}" height=. "{settings.slideHeight}" alt="{item.itemname}"/>
</f:if>


不要使用丢失的文件;-)文件存在吗?如果是这样,FAL似乎不知道这件事。然后启动文件索引更新(例如通过调度程序任务)。如果文件不存在,您应该修复您的内容。不,文件实际上丢失了。但是我想知道为什么TYPO3 8.7没有显示文件,而TYPO3 9.5却用这个错误破坏了整个页面。我是否可以避免此错误,或生成一个无声错误,即日志条目f.eg?这似乎是正确的,这就是我现在帮助我的方式,但我觉得这很难看。这样的处理程序应该足够智能,能够处理丢失的图像。特别是在src参数方面,我同意你的看法。实现一个检查,从Fluid中实际查找文件是否存在、可读以及是否是有效的图像文件,这并不是一件小事。