Двоичные данные Favicon не преобразуются в изображение.
В своем ответе я получаю массив байтов следующим образом:
$byte_array = $response['defaultFavIcon'];
$byte_array
содержит массив изображений следующим образом:
[ 0 => 0
1 => 0
2 => 1
3 => 0
4 => 1
5 => 0
6 => 16
7 => 16
8 => 0
9 => 0
10 => 1
14 => 104
15 => 3
16 => 0
17 => 0
18 => 22
19 => 0
20 => 0
21 => 0
22 => 40
27 => 0
28 => 0
29 => 0
30 => 32
31 => 0
32 => 0
33 => 0
34 => 1
35 => 0
36 => 24
37 => 0
44 => 0 ..... so on]
Используя указанный выше байтовый массив, я делаю следующее:
$data = implode('', array_map(function ($e) {
return pack("C*", $e);
}, $byte_array));
Используя пакет вмешательства изображения, я делаю следующее:
$img = Image::make($data)->save(storage_path() . '/images/image1.jpg');
return $img->response();
При этом я не получаю изображения для значков, но я получаю изображения для siteLogos.
Примечание: mimeTypes различаются для логотипов и значков сайта.
для siteLogos: mime type
является image/png
для favicon: mime type
является image/vnd.microsoft.icon
Для siteLogos я получаю изображение в ответ. но я не получаю изображение для favicon.
Задача ещё не решена.
Других решений пока нет …