我正在学习Laravel 5,我遇到了问题。
如果我尝试将图像传递到这样的路线
http:://localhost/someImage.jpg
和路线就像:
Route::get('/{filename}', function($filename){
$img = Image::make(storage_path($filename))->resize(50, 50);
return $img->response('jpg');
});
它返回在此服务器上找不到请求的资源someImage.jpg。
如果我称之为
http:://localhost/someImage
我的路线是
Route::get('/{filename}', function($filename){
$img = Image::make(storage_path($filename . ('.jpg')))->resize(50, 50);
return $img->response('jpg');
});
可以显示图像。
如何让第一个示例正常工作?
我不确定,但我认为它是试图直接访问图像而不是将其传递给路由,并且我需要更改一些配置以防止它。也许在htaccess?
.htaccess内容
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
答案 0 :(得分:0)
确保它在您的存储目录中可用,因为您正在使用storage_path()方法。