49 $this->environmentService =
$environmentService ?? GeneralUtility::makeInstance(EnvironmentService::class);
62 if (is_callable([$image,
'getOriginalFile'])) {
70 return $processedImage;
83 $parsedUrl = parse_url($imageUrl);
85 if (isset($parsedUrl[
'host'])) {
87 } elseif ($this->environmentService->isEnvironmentInFrontendMode()) {
88 $uriPrefix =
$GLOBALS[
'TSFE']->absRefPrefix;
90 $uriPrefix = GeneralUtility::getIndpEnv(
'TYPO3_SITE_PATH');
96 if (isset($parsedUrl[
'host']) && !isset($parsedUrl[
'scheme'])) {
97 $uriPrefix = (GeneralUtility::getIndpEnv(
'TYPO3_SSL') ?
'https:' :
'http:') . $uriPrefix;
99 return GeneralUtility::locationHeaderUrl($uriPrefix . $imageUrl);
101 return $uriPrefix . $imageUrl;
118 public function getImage($src, $image, $treatIdAsReference)
120 if ($image ===
null) {
122 } elseif (is_callable([$image,
'getOriginalResource'])) {
124 $image = $image->getOriginalResource();
128 $class = is_object($image) ? get_class($image) :
'null';
129 throw new \UnexpectedValueException(
'Supplied file object type ' . $class .
' for ' . $src .
' must be File or FileReference.', 1382687163);
144 if ($this->environmentService->isEnvironmentInBackendMode() && strpos($src,
'../') === 0) {
145 $src = substr($src, 3);
148 if ($treatIdAsReference) {
149 $image = $this->resourceFactory->getFileReferenceObject($src);
151 $image = $this->resourceFactory->getFileObject($src);
153 } elseif (strpos($src,
't3://file') === 0) {
155 $linkService = GeneralUtility::makeInstance(LinkService::class);
156 $data = $linkService->resolveByStringRepresentation($src);
157 $image = $data[
'file'];
160 $image = $this->resourceFactory->retrieveFileOrFolderObject($src);
173 if ($this->environmentService->isEnvironmentInFrontendMode()) {
199 'processedFile' => $processedImage