Итак, я пытаюсь отобразить изображение с http-страницей, подобной тем, которые вы получаете с помощью «Просмотр изображения» в вашем браузере. Я получил это далеко, и я понятия не имею, что еще мне нужно сделать, чтобы заставить Firefox читать мои проклятые данные изображения.Заголовки, необходимые для отображения изображения base64 с Perl?
open (my $fh, "<", "/where/the/base64_encoded_img/is");
local $/= undef;
my $image = <$fh>;
close $fh;
local $/= "\n";
use MIME::Base64;
my $alpha;
$alpha .= "Content-type: image/png;base64 \n"; #our image is a PNG
$alpha .= "Content-length: " . MIME::Base64::encoded_base64_length($image) . " \n\n ";
$alpha .= " ";
#~ $alpha .= "<img src='$image'/>";
$alpha .= "$image";
print $alpha;
Считайте, что я попытался с и без "данных: our_data_type; Charset = UTF-8; base64," строки перед хэшированным изображением (Эта строка содержится в $ изображений переменная).
Является ли это CGI скрипт? Нет необходимости в base64 ответе HTTP, который является образом. Просто отправьте изображение! Если вы отправляете PNG напрямую в ответ на HTTP-запрос (а не встраиваете его в некоторый HTML в тот же ответ), то схема 'data:' URI не имеет значения. –
Имеет ли '$ image' данные сырого изображения? Затем вам нужно будет закодировать Base64 перед его выходом. – mob
Я не эксперт, но я никогда не видел твоей нотации для Content-Type с добавлением base64. Вместо этого я бы использовал Content-Transer-Encoding, чтобы указать base64. Кроме того, ваше изображение уже находится в файле base64 в файле? Если нет, у вас, вероятно, будут проблемы. –