JavaScript空数组,并填充图像BLOB

时间:2019-01-17 02:41:08

标签: javascript php arrays null blob

我在网站上有一个javascript附加函数,可填充卡片。我从数据库中提取图像,然后将该php数组设置为javascript数组。但是,有时数据库中可能没有图像,因此我想使用保存在我的站点目录中的默认图像进行填充。我不想为每个没有图像的数据库条目存储默认图像。通过从站点拉出默认映像可以节省数据库中的空间。那么,如果在其中找不到图片,该如何将下面的javascript数组设置为默认图片?

var jImages = []; 
<?php
for ($i = 0; $i < count($Image); $i += 1) {
  echo 'jImages['.$i.'] = "'.base64_encode($Image[$i]).'";';
}
?>

这是我的append函数的开始部分,实际上是在设置我的jImages。

        $(document)
        .ready(function() {

            $.each(tagNumbers, 
                function(i, value) {
                    $('.main_card_shell').append(
                    "<div class='card_content card_style' id='card0'>" +

                           "<div class='subcard_style box_title'>" + 
                               '<img class="card_image" src="data:image/png;base64,' + jImages[i] + '" alt="Item #1" />' +    

由于我使用的是“ data:image / png:base64”,因此不确定将jImages设置为默认图像路径是否一样容易。

1 个答案:

答案 0 :(得分:0)

默认图像应为base64编码。您可以获取默认图像的base64字符串,例如here

然后在for循环中检查$ Image [$ i]的值。如果该值代表DB中没有图像,则将jImages ['。$ i。']设置为默认图像的base64字符串。

<?php
for ($i = 0; $i < count($Image); $i += 1) {
  $b64Str = /* base64_encoded default image */;
  if ($Images[$i] != /* whatever the value is if no image in DB */) {
    $b64Str = base64_encode($Image[$i]);
  }
  echo 'jImages['.$i.'] = "'.$b64Str.'";';
}
?>