我正在尝试使用一个函数从服务器获取图像,但没有错误,也没有出现。我花了很多时间搜索没有成功,我真的需要帮助,希望有人能够。
在后端,我有类似的东西:
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($filePath).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($filePath));
readfile($filePath);
HTML:
<img class="user_pic img-circle" ng-src="{{head.profilPic}}">
控制器:
serviceAPI('GET','files').then(function(data) {
head.profilPic= 'data:image/jpeg;base64,'+_arrayBufferToBase64(data);
}, function(data) {
});
function _arrayBufferToBase64( buffer ) {
var binary = '';
var bytes = new Uint8Array( buffer );
var len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode( bytes[ i ] );
}
return window.btoa( binary );
}
等待你的建议。提前谢谢。
答案 0 :(得分:0)
最后我找到了解决方案。
后端:
$img_src = $filePath;
$imgbinary = fread(fopen($img_src, "r"), filesize($img_src));
$img_str = base64_encode($imgbinary);
header("Content-Type: text/plain");
echo $img_str;
控制器:
head.profilPic= 'data:image/jpeg;base64,'+ data.data;