octobercms/october · warning · ApplicationException

The resizer file ':name' is not found.

Error message

The resizer file ':name' is not found.

What it means

SystemController::resize($name) is the route handler for image resizer URLs (/resizer/{name}), and like the combine handler it requires the name to contain a '-' so it can extract the leading cache id. When the segment has no dash, it throws an ApplicationException ('resizer file not found') naming the malformed input. In production this becomes a 404; in debug mode the raw exception is shown. It is a format guard in front of ResizeImages::getContents($cacheId).

Source

Thrown at modules/system/classes/SystemController.php:59

            if (System::checkDebugMode()) {
                return Response::make(e($ex->getMessage()), 404);
            }
            else {
                return Response::make('/* '.e(Lang::get('system::lang.page.custom_error.help')).' */', 404);
            }
        }
    }

    /**
     * resize an image
     * @param string $name Combined file code
     * @return RedirectResponse
     */
    public function resize($name)
    {
        try {
            if (!strpos($name, '-')) {
                throw new ApplicationException(__("The resizer file ':name' is not found.", ['name' => $name]));
            }

            $parts = explode('-', $name);

            $cacheId = $parts[0];

            $combiner = ResizeImages::instance();

            return $combiner->getContents($cacheId);
        }
        catch (Exception $ex) {
            if (System::checkDebugMode()) {
                return Response::make(e($ex->getMessage()), 404);
            }
            else {
                return Response::make('/* '.e(Lang::get('system::lang.page.custom_error.help')).' */', 404);
            }
        }

View on GitHub (pinned to b608633a7e)

Solutions

  1. Regenerate the markup with the `|resize` filter so current-format resizer URLs are emitted
  2. Purge CDN and page caches after deployments that touch asset/image URL generation
  3. Avoid hardcoding /resizer/ paths anywhere; derive them from the source file at render time
  4. Treat isolated hits as noise (404 for bots), unless your own pages emit the bad URLs
Defensive patterns

Strategy: fallback

Validate before calling

// Validate resizer URL tokens before dispatching to the resizer
if (!str_contains($name, '-')) {
    abort(404, 'Malformed resizer token');
}
return \System\Classes\ResizeImages::instance()->getContents(explode('-', $name)[0]);

Try / catch

try {
    return \System\Classes\ResizeImages::instance()->getContents($cacheId);
} catch (\October\Rain\Exception\ApplicationException $ex) {
    // malformed token or expired cache — 404 with the original URL as fallback
    return \Redirect::to($fallbackOriginalUrl);
}

Prevention

When it happens

Trigger: A request to the resizer route where the token lacks the expected id-suffix shape, e.g. /resizer/xyz instead of /resizer/xyz-img.jpg. Typically stale markup/CDN content carrying old-format resizer URLs, or manually constructed image URLs.

Common situations: CDN/browser cache pinning old resizer URLs across a deploy that changed the URL scheme; templates hardcoding resizer paths; email templates or third-party integrations reusing expired/malformed resizer links.

Related errors


AI-assisted analysis of octobercms/october@b608633a7e (2026-08-21). Data as JSON: /api/errors/11cfd1c0ecf9004d. Report an issue: GitHub.