---
title: "Deprecation: #100597 - BackendUtility methods getThumbnailUrl() and getLinkToDataHandlerAction()"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:deprecation-100597-1681480956"
source: "Changelog/12.4/Deprecation-100597-BackendUtilityMethodsGetThumbnailUrlAndGetLinkToDataHandlerAction.rst"
typo3-version: "12.4"
typo3-major: 12
type: "deprecation"
issue: 100597
forge: "https://forge.typo3.org/issues/100597"
tags: ["Backend", "PHP-API", "FullyScanned", "ext:backend"]
rendered: "2026-09-20T18:31:11+00:00"
---

# Deprecation: #100597 - BackendUtility methods getThumbnailUrl() and getLinkToDataHandlerAction() {#deprecation-100597-1681480956}

See [forge#100597](https://forge.typo3.org/issues/100597)

## Description {#description}

The methods `\TYPO3\CMS\Backend\Utility\BackendUtility::getThumbnailUrl()`
and `\TYPO3\CMS\Backend\Utility\BackendUtility::getLinkToDataHandlerAction()`
have been marked as deprecated.

## Impact {#impact}

Calling those methods will trigger a PHP deprecation level log warning.

## Affected installations {#affected-installations}

TYPO3 installations with custom extensions using those methods. The extension
scanner will report usages as strong match.

## Migration {#migration}

Instead of calling `BackendUtility::getThumbnailUrl()`, inject and use
the `\TYPO3\CMS\Core\Resource\ResourceFactory` directly:

```php
// before
$url = BackendUtility::getThumbnailUrl(2004, [
    'width' => 20,
    'height' => 13,
    '_context' => ProcessedFile::CONTEXT_IMAGEPREVIEW
]);

// after
$url = $this->resourceFactory
    ->getFileObject(2004)
    ->process(ProcessedFile::CONTEXT_IMAGEPREVIEW, ['width' => 20, 'height' => 13])
    ->getPublicUrl();
```

Instead of calling `BackendUtility::getLinkToDataHandlerAction()`, inject
and use the `\TYPO3\CMS\Backend\Routing\UriBuilder` directly:

```php
// before
$url = BackendUtility::getLinkToDataHandlerAction(
    '&cmd[pages][123][localize]=10',
    (string)$uriBuilder->buildUriFromRoute('some_route')
);

// after
$url = (string)$this->uriBuilder->buildUriFromRoute(
    'tce_db',
    [
        'cmd' => [
            'pages' => [
                123 => [
                    'localize' => 10,
                ],
            ],
        ],
        'redirect' => (string)$uriBuilder->buildUriFromRoute('some_route'),
    ]
);
```

In case the second parameter `$redirectUrl` was omitted,
`getLinkToDataHandlerAction` automatically used the current request URI
as the return URL. In case you relied on this, make sure the `redirect`
parameter is set to `$request->getAttribute('normalizedParams')->getRequestUri()`.
