RedJeep has asked for the wisdom of the Perl Monks concerning the following question:
Hello. I am trying to convert an image to Base64. My environment is Windows 10, Perl 5.24.3
Thank you all in advance!
My code is...
use MIME::Base64; use strict; use warnings; my $upload_dir = 'uploaded_files'; my $file = 'image.jpg'; my $base64_a = ''; ### Open the image to convert to base64 open (IMAGE, "$upload_dir/$file") or die "$!"; binmode IMAGE; my $binary = do{ local $/ = undef; <IMAGE>; }; binmode $binary; $base64_a = encode_base64($binary); my $base64 = encode_base64(pack('B*', $binary)); print "base64 = $base64\n";
The funny thing is that it works but also kicks off an error.
The output is below... I truncated the Base64 output but this gives you an idea.
C:\inetpub\foto_root>test_binmode.pl binmode() on unopened filehandle at C:\inetpub\foto_root\test_binmode. +pl line 15, <IMAGE> line 1. base64 = oJwMowGRQNNgH8d24aQ2RsdiAAAAAAAAJLj8n+AVVkc4dN3p10iVUqqqqqqqp +VKpVKpVVVVU3/gV VmRYq3PyP5IelVVVVVVSqVSqVSqVSqVUZ1AAEGE3pUtAeRV1p247Xr9p2Guv7n9A9nOnOn +ZXdA42 pdQesc/9hOpZohX2DutSt/81SZ59Hb0FIO76iahG1+vNi8zyfmjNxSejvblU86wvDLZXRm +4ry0mW yua0S4Q90eqW7MYcDZcP4l9PBrvn+IDVzndz7jzr6Qdtxw8229DXCkbJBku40l+WPP3LWM +zb0n3R 1HH038+luuLCle7a0I1fbKViAAAbuACaCEXYx48/lGgW3nX3PuaVGfWYO6Hji+61TLusOy +q4VbUB yxV669JBpWOm9iflsw4PPuH19M39fAjGaXS9L5lTHpFLOgdiHgnWpHVBnhBcG1Ey7lUnsX +5m6E6a 7QvIKnZ4L/a6MrbXSao8wtaijRod4XP87X2ZlXqDVetDfQoJPWW2sWnVUfMUFeIYK3RVY+ +1kUolC ArLfmXFpHX/GYvYsydAm5e77Z9l6nO0v2Y3GjeNilVltW7uA0m1l42/tA7it9WBp2YC0RP +w86c8+
|
---|