Отображение блоба как изображения через ajax - PullRequest
0 голосов
/ 27 сентября 2018

После успешной загрузки я пытаюсь отобразить только что загруженное изображение, но получаю только значок разорванного изображения.

public function getImageThumbnailAction()
    {
        $request = $this->getRequest();
        $ServiceLocator = $this->getServiceLocator();
        $Configuration = $ServiceLocator->get('Configuration');

        $ImageService= $ServiceLocator->get('ImageService');

        $image_id = $this->params()->fromQuery('image_id');

        if($image_id) {
            $imageBlob = $ImageService->getImagePreview($image_id, 300);

            $response = $this->getResponse();
            $response->setContent($imageBlob);
            $response->getHeaders()
                        ->addHeaderLine('Content-Transfer-Encoding', 'binary')
                        ->addHeaderLine('Content-Type', 'image');

            return $response;
        } else {
            return array(
                'success' => false,
                'errors' => 'Failed to fetch data.');
        }
    }

Когда я делаю base64_encode на $imageBlob и отображаю егои использовать конвертер base64 to image, он выводит правильное изображение.

Я вызываю это через $(element).attr('src',url).

...