所以我試圖用一個http頁面顯示一個圖像,就像你在瀏覽器上用「View Image」得到的那樣。我得到了這麼多,我不知道還有什麼我必須做的,讓Firefox閱讀我該死的圖像數據。需要使用Perl顯示base64圖像的標題?
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;字符集= UTF-8; BASE64,」 散列圖像之前串(該字符串被包含在$圖像內變量)。
這是一個CGI腳本?不需要base64作爲圖像的HTTP響應。只需發送圖像!如果您直接發送PNG以響應HTTP請求(而不是將其嵌入到某個HTML中,則返回相同的響應),那麼'data:'URI方案是無關緊要的。 –
'$ image'是否包含原始圖像數據?然後,在輸出之前,您需要對其進行Base64編碼。 – mob
我不是專家,但我從未見過Content-Type的附加符號,附加了base64。我會用Content-Transer-Encoding來指定base64的東西。另外,您的圖像是否已經在base64文件中?如果沒有,你可能會遇到問題。 –