Php Angularjs,$http.get on图像数据赋予特殊字符

Php Angularjs,$http.get on图像数据赋予特殊字符,php,ajax,angularjs,rest,Php,Ajax,Angularjs,Rest,我使用一个使用PHP和slim框架的私有API。当我得到一个路由,它给我一个图像数据,响应似乎是奇怪的(如字符集问题) 服务器使用readfile()php函数发送图像: $src = "image.png"; $this->app->contentType("image/png"); $this->app->response()->status(REQ_OK); header('Content-length: '.filesize(SITE_PATH.$src))

我使用一个使用PHP和slim框架的私有API。当我得到一个路由,它给我一个图像数据,响应似乎是奇怪的(如字符集问题)

服务器使用readfile()php函数发送图像:

$src = "image.png";
$this->app->contentType("image/png");
$this->app->response()->status(REQ_OK);
header('Content-length: '.filesize(SITE_PATH.$src));
readfile(SITE_PATH.$src);
在客户端,我使用带有$http的AngularJS

$http({
      method: 'GET',
      url: "/myRoute",
      headers: {
               'responseType': "image/png"
      }
)
.success(function(result){
   //treatment
})
.error(function(){

});
在chrome上,在xhr预览中,我得到了以下内容: ![在此处输入图像描述][1]

请参见此处的屏幕截图

如果我将数据发送到img的ng src,它将不起作用。因为奇怪的编码

你知道吗


非常感谢

问题是您试图在HTML源代码中插入二进制图像,这是不可能的

您需要形成一个IMG数据URL(例如,请参见此问题的示例:)

或者您需要让浏览器为您加载img。这意味着创建一个
,其中
imgPath
引用了一个内容为
/myRoute
的变量