그래서 브라우저에서 "이미지보기"를 사용하는 것과 같은 http 페이지로 이미지를 표시하려고합니다. 나는 이걸 가지고 있고 파이어 폭스가 내 빌어 먹을 이미지 데이터를 읽으려면 뭘해야하는지 잘 모른다. (이 문자열은 $ 이미지 내에 포함되어 문자열 해시 된 이미지 전에 ", base64로; 문자셋 = UTF-8 our_data_type 데이터"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;
내가 함께하고 없이 모두 시도 것을 고려 변하기 쉬운).
이가 CGI 스크립트인가? 이미지 인 HTTP 응답을 base64 할 필요가 없습니다. 그냥 이미지를 보내! HTTP 요청에 대한 응답으로 PNG를 직접 보내고 (동일한 응답으로 일부 HTML에 포함시키지 않으면)'data :'URI 스킴은 부적합합니다. –
'$ image'는 미가공 이미지 데이터를 포함합니까? 그런 다음 출력하기 전에 Base64로 인코딩해야합니다. – mob
저는 전문가 아니지만 Content-Type에 대한 표기법을 본 적이 없으며 base64를 추가했습니다. 대신 base64를 지정하기 위해 Content-Transer-Encoding을 사용했을 것입니다. 또한, 귀하의 이미지는 이미 파일의 base64에 있습니까? 그렇지 않은 경우 문제가 발생할 수 있습니다. –