簡體   English   中英

使用json_encode和PHP處理base64編碼的圖像

[英]Handling base64 encoded images with json_encode and PHP

我的PHP類返回一個小的base64編碼圖像,將其鏈接:

class Service
{

  function getLogo()
  {
    $image = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c
             QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwA";

    return 'data:image/png;base64,' . $image;
  }

}

使用json_encode返回圖像將在$image每一行之后添加\\n

$service = new Service();
$response = array('name' => $service->getName(), 'logo' => $service->getLogo());
header('Content-type: application/json');
echo json_encode($response);

如何正確處理?

您已經將base64數據分成兩行來處理。 它應該是

function getLogo() {
    $image = "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4cQAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwA";

    return 'data:image/png;base64,' . $image;
}

沒有換行符。

答案由Marc B給出。這只是一條評論。 如果代碼格式化對您確實如此重要,以至於您不能忍受長行( 為什么? ),則可以始終這樣格式化PHP:

class Service
{

  function getLogo()
  {
    $image  = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c';
    $image .= 'QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwA';

    return 'data:image/png;base64,' . $image;
  }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM