Cara memunculkan gambar dari URL SSL yang tidak muncul

Awalnya ada issue gambar tidak muncul saat membuat PDF yang ada gambarnya. Dahulu sebelum server belum dikasih SSL gambar masih bisa muncul. Tapi setelah server dikasih SSL, tim android pun kalang kabut bingung kenapa gambar tidak muncul.

Seperti yang diketahui, SSL itu mengubah data agar terenkripsi. Jadi misalnya ada proses perpindahan data dari A ke B, maka data dienkripsi agar saat proses perpindahan tidak terlihat. Mungkin karena itu data gambar tidak muncul.

Seperti yang biasa kita lakukan, kita selipkan gambar di tag html IMG dengan attribute SRC. Namun cara itu tidak serta merta lancar. Setelah cara informasi, ada cara agar saat menaruhnya di SRC mesti diconvert terlebih dahulu ke base64. Lalu dari format base64 ini kita panggil gambar base64 ini di SRC.

Di PHP, cara convert gambar dari SSL itu dengan cara berikut:

$secureUrl = 'https://domain.com/nama_gambar.png';
$sslContextOptions=array(
                "ssl"=>array(
                    "verify_peer"=>false,
                    "verify_peer_name"=>false,
                ),
            );
$type = pathinfo($secureUrl, PATHINFO_EXTENSION);
$imageData = file_get_contents($secureUrl, false, stream_context_create($sslContextOptions));
$imageBase64Data = base64_encode($imageData);
$srcData = 'data:image/' . $type . ';base64,' . $imageBase64Data;

echo "<img src='" . $srcData . "' />";

Dengan cara ini, gambar yang tadinya tidak muncul setelah saya coba berhasil muncul 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: