无法在 img src 中显示来自 ajax 响应的图像

时间:2021-03-15 14:26:54

标签: php jquery ajax image

我正在使用一个函数来动态裁剪图像并返回调整大小的图像。问题是,如果我在 jQuery 中使用它,我会暴露我的 API KEY,这是敏感的。所以我使用ajax函数来显示图像。

这是我的 JQuery 代码

var bgImg = "Actual_image_path.jpeg";
var bgImgSrc    = "whatFor=imageResize&width=640&height=480&path="+bgImg;
$.ajax({
    url:"/ajaxcalls.php",
    type: 'POST',
    data:bgImgSrc,
    cache:false,
    async:false,
    success:function(data){
        bgImgHtml = '<img id="img_bgImg" src="data:image/jpeg;base64,' + data + '" class="" />';
    },
    error:function(){
        $(".cityblurb").text("");
    }
});

这是我的 ajaxcalls.php

foreach($_POST as $key=>$value){
    $apiUrl.="&$key=".$value;
}

$apiURL     = APIURL."token=".KEY.$apiUrl;
$result     = curl_get_file_contents($apiURL);
echo $result;

function curl_get_file_contents($URL) { 
    header("Content-Type: image/jpeg");
    $c = curl_init();
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($c, CURLOPT_URL, $URL);
    $contents = curl_exec($c);
    $err  = curl_getinfo($c,CURLINFO_HTTP_CODE);
    curl_close($c);
    if ($contents) return $contents;
    else return FALSE;
}

当我控制台时,我可以看到调整大小的图像,但无法将其打印为 html。打印的只是图像的那些特殊字符。

0 个答案:

没有答案
相关问题