я пытаюсь включить эту библиотеку для моего локального окружения.
http://glide.thephpleague.com/1.0/config/integrations/laravel/
Текущая версия Laravel 5.5
gd2
включен в расширениях Wamp.
Кажется, я не могу понять, в чем проблема.
Путь в порядке, на нем существует изображение.
См. Следующий код для конфигурации сервера.
$server = ServerFactory::create([
'response' => new LaravelResponseFactory(app('request')),
'source' => $source,
//'cache' => new Filesystem(new Adapter('../storage/app/cache/')),
'cache' => $cache,
'cache_path_prefix' => '.cache',
'base_url' => 'transform-img',
]);
Теперь я использую это
return $server->getImageResponse($path, request()->all());
это не дает никакой ошибки.
когда я dd()
это, я получаю этот ответ.
StreamedResponse {#1151 ▼
#callback: Closure {#1177 ▶}
#streamed: false
-headersSent: false
+headers: ResponseHeaderBag {#1176 ▶}
#content: null
#version: "1.0"
#statusCode: 200
#statusText: "OK"
#charset: null
}
Закрытие обратного вызова:
#callback: Closure {#1252 ▼
class: "League\Glide\Responses\SymfonyResponseFactory"
this: LaravelResponseFactory {#1231 …}
use: {▼
$stream: stream resource @543 ▼
timed_out: false
blocked: true
eof: false
wrapper_type: "plainfile"
stream_type: "STDIO"
mode: "rb"
unread_bytes: 0
seekable: true
uri: "D:\wamp\www\Bankrolla\storage\app/public\.cache/img/logo_no_text.png/32c8e67d979eab40a7ef6d1854f1f7cc"
options: []
}
}
file: "D:\wamp\www\Bankrolla\vendor\league\glide-symfony\src\Responses\SymfonyResponseFactory.php"
line: "48 to 54"
}
, так как statusCode показывает 200
, и нет ошибки для файла, который не найден, тем не менее, он не загружает никакое изображение, но показывает местозаполнитель в браузере при навигации.
В чем может быть проблема. если я пытаюсь заменить имя изображения любой другой случайной строкой, я получаю ошибку для изображения, не найденного. так что это означает, что он находит изображение. ты не можешь сделать изображение.
Я гуглил, искал по их комментариям на github, не смог найти ни одной проблемы, похожей на мою.
Я получаю пустую страницу / изображение, только если загружаю его напрямую.
Также я заглянул в каталог кеша, он включает в себя файлы и размеры этих файлов изменяются. поэтому я не уверен, где он идет не так, даже когда он генерирует файлы кэша.
может быть, я здесь упускаю какую-то точку, если кто-то может указать мне правильное направление, было бы очень полезно.
Обновление:
Значение переменной $source
:
Filesystem {#1225 ▼
#adapter: Local {#1226 ▼
#pathSeparator: "\"
#permissionMap: array:2 [▼
"file" => array:2 [▼
"public" => 420
"private" => 384
]
"dir" => array:2 [▼
"public" => 493
"private" => 448
]
]
#writeFlags: 2
-linkHandling: 2
#pathPrefix: "D:\wamp\www\Bankrolla\storage\app/public\"
}
#plugins: []
#config: Config {#1229 ▼
#settings: []
#fallback: null
}
}
Каталог хранения в моем общедоступном каталоге (это символическая ссылка исходного хранилища)
Каталог хранения Laravel
URL, с которого я звоню.
{localhostDomainHere}/image/img/logo_no_text.png?w=100&h=100&fit=crop-center