После успешной загрузки я пытаюсь отобразить только что загруженное изображение, но получаю только значок разорванного изображения.
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)
.