У меня есть компонент React, который отображает изображения, которые я пытаюсь передать через библиотеку кэширования PHP. Кэширование работает, когда я обращаюсь к URL-адресу напрямую, но когда я вставляю тот же URL-адрес в React, он отображает поврежденное изображение. Что мне здесь не хватает?
Компонент React, работающий на порте 3000:
import React from 'react';
class Gallery extends React.Component {
render() {
const rows = [];
this.props.comms.forEach((comm) => {
const url = 'http://mylinode:8100/vektor/phpcache/cache.php?cache=' + comm.node.imageUrl;
console.log(url)
rows.push( <img style={{ width: "400px", height: "auto" }} src={url} alt={comm.node.title} /> )
});
return ( <div> {rows} </div> );
}
}
export default Gallery;
кеш. php
<?php
require 'ImageCache.php';
$cache = $_REQUEST['cache'];
$imagecache = new ImageCache\ImageCache();
$imagecache->cached_image_directory = dirname(__FILE__) . '/images/cache';
$cached_src_one = $imagecache->cache( $cache );
echo '<img src="' . $cached_src_one . '"alt="">';
?>
Ссылка на класс php в использование:
https://github.com/nielse63/php-image-cache/blob/master/src/ImageCache/ImageCache.php