Имагик из Лазурной Капли - PullRequest
1 голос
/ 23 сентября 2019

У меня есть сайт PHP, который в настоящее время извлекает изображения из BLOB-объекта Azure, записывает их на диск с помощью file_put_contents, а затем imagick читает файл с диска с помощью readImageFile.Я бы предпочел это жить в памяти, чем записывать на диск, а затем читать с диска.Как я могу сделать это?Когда я пытаюсь прочитать ReadImageBlob, я получаю следующую ошибку:

Warning: Imagick::readimageblob() expects parameter 1 to be string, resource given in <file> <line>

Ниже приведен фрагмент моего кода (это всего лишь тестовый код, а не рабочий):

// Get Data from Azure Storage Blob
$blob = $blobClient->getBlob($containerName, $documentPath);

// Get TIF file from Blob and convert to PDF
$im = new imagick();
$im->readImageBlob($blob->getContentStream());
$im->setImageFormat('pdf');

// Echo as PDF
header('Content-Type: application/pdf');
echo $im;

1 Ответ

1 голос
/ 23 сентября 2019

Вы должны быть в состоянии использовать stream_get_contents для чтения строки из имеющегося у вас потока.Пример:

$im->readImageBlob(stream_get_contents($blob->getContentStream()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...