我尝试获取存储在localhost文件夹中的图像,我不明白是什么问题,JSON IMAGEN中的属性变空, 我需要在这里转换它..
<?php
/**
* Obtiene todas las metas de la base de datos
*/
const ESTADO = "estado";
const DATOS = "negocios";
const MENSAJE = "mensaje";
const CODIGO_EXITO = 1;
const CODIGO_FALLO = 2;
require '../data/Gastos.php';
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
// Manejar petición GET
$negocios = Gastos::getAllNegocios();
//Definir el tipo de la respuesta
header('Content-Type: application/json');
$imagesPath = '/localhost:8888/htdocs/';
if ($negocios) {
$datos[ESTADO] = CODIGO_EXITO;
foreach($negocios as $meta) {
// Push an entry in the new array, replacing raw image with base64-encoded
$imgFileContents = file_get_contents($imagesPath.'/'.$meta['IMAGEN']);
$datos["negocios"][] = array(
'IDNEGOCIO' => $meta['IDNEGOCIO'],
'NOMBREIMAGEN' => $meta['NOMBREIMAGEN'],
'IMAGEN' => base64_encode($imgFileContents),
'NOMBRENEGOCIO' => $meta['NOMBRENEGOCIO'],
'DESCRIPCION' => $meta['DESCRIPCION'],
);
}
print json_encode($datos,JSON_UNESCAPED_UNICODE);
} else {
print json_encode(array(
ESTADO => CODIGO_FALLO,
MENSAJE => "Ha ocurrido un error"
));
}
}
?>
在JSON中获取空白
{&#34;埃斯塔&#34;:1,&#34; negocios&#34;:[{&#34; IDNEGOCIO&#34;:&#34; 1&#34;&#34; NOMBREIMAGEN&# 34;:&#34; img_1&#34;&#34; IMAGEN&#34;:&#34;&#34;&#34; NOMBRENEGOCIO&#34;:&#34; YARYAS&#34;&# 34; DESCRIPCION&#34;:&#34; Descripcion1&#34;},{&#34; IDNEGOCIO&#34;:&#34; 2&#34;&#34; NOMBREIMAGEN&#34;:&#34; IMG_2& #34;&#34; IMAGEN&#34;:&#34;&#34;&#34; NOMBRENEGOCIO&#34;:&#34; Skizza&#34;&#34; DESCRIPCION&#34;:& #34; Descripcion2&#34;}]}
是直接的
答案 0 :(得分:1)
我认为这可能是因为您的$ imagesPath网址指向的内容不正确。在大多数localhost设置&#34; htdocs&#34;前往localhost服务器时已经是默认目录,所以假设它是一个相对URL,它应该是&#34; http://localhost:8888/fotos/&#34;不是&#34; http://localhost:8888/htdocs/fotos/&#34;。
尝试:
$imagesPath = 'http://localhost:8888/';