Php Angularjs,$http.get on图像数据赋予特殊字符
我使用一个使用PHP和slim框架的私有API。当我得到一个路由,它给我一个图像数据,响应似乎是奇怪的(如字符集问题) 服务器使用readfile()php函数发送图像: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))
$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
的变量