Проблема при попытке отобразить удаленное изображение (GET php) - поврежденное / пустое изображение - PullRequest
0 голосов
/ 22 марта 2019

Я хотел бы отобразить некоторые удаленные изображения из php-адреса с помощью метода GET (3 параметра: Key, ImageID, Size).Например: http://www.example.com/getImage?Key=thekey&ImageId=2&Size=1

Я следовал за этим: https://stackoverflow.com/a/12629513 (заменил тип контента на jpeg), попробовал со случайным изображением JPEG в сети, и это сработало.

Однако, когда я пытаюсь этот метод с моим php url: файл поврежден.

<?php
function img_create($filename, $mime_type)
{
  $content = file_get_contents($filename);
  $base64   = base64_encode($content);
  return ('data:' . $mime_type . ';base64,' . $base64);
}
?>
<img src="<?php print img_create('http://www.example.com/getImage?Key=thekey&ImageId=2&Size=1','image/jpeg'); ?>" alt="random logo" />

Любая идея ..?

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Попробуйте это:

<?php

function img_create($filename, $mime_type) { 
   $content = file_get_contents($filename); 
   $base64   = base64_encode($content);
   $src_string = 'data:'.$mime_type.';base64,'.$base64;
   echo $src_string;
}
?>

<img src="<?php img_create('http://www.example.com/getImage?Key=thekey&ImageId=2&Size=1','image/jpeg'); ?>" alt="random logo" />
0 голосов
/ 22 марта 2019

Ваш код работает нормально. Просто я думаю, что есть проблема с вашим изображением. URl

<?php

функция img_create ($ filename, $ mime_type) {

$ content = file_get_contents ($имя файла);

$ base64 = base64_encode ($ content);

return ('data:'. $ mime_type. '; base64,'. $ base64);

}

?>

<img src="<?php print img_create('https://images.unsplash.com/photo-1497316730643-415fac54a2af?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80','image/jpeg'); ?>" alt="random logo" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...