Deprecation: #85970 - FILE content object

See Issue #85970

Description

The cObject FILE mixed concerns (rendering an image, or dumping file contents), and rather became low-level since Fluid’s rise in rendering Frontend.

FILE shows an image if the file is jpg,jpeg,gif,png (but not SVG). If a different file ending is detected, it will check if the file is less than 1MB, and will get its contents and output that. If the file is 1 byte bigger, nothing is done. Fluid offers more flexibility nowadays.

Thus, cObject FILE will be removed in TYPO3 v10.

Impact

Instances using the TypoScript cObject FILE will find PHP E_USER_DEPRECATED errors for each usage.

Affected Installations

Instances using the TypoScript cObject FILE.

Migration

Use IMAGE to show images instead.

For realising TEMPLATE, migrate to using FLUIDTEMPLATE. It comes with all the benefits Fluid offers.

However due to the flexibility of custom cObjects, an extension author could just re-implement the functionality in a custom extension within minutes. See this example for ext:frontend where the registration resides in ext_localconf.php.

$GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'] = array_merge(
   $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects'],
   [
      'FILE' => \TYPO3\CMS\Frontend\ContentObject\FileContentObject::class,
   ],
);