尝试使用干预图像调整图像大小。得到了那部分工作。现在我想将图像缓存10分钟,但是当我上传带有图像的新文章时,我得到了堆栈跟踪信息:
ArticlesController.php第150行中的ErrorException:缺少App \ Http \ Controllers \ ArticlesController :: App \ Http \ Controllers {closure}()的参数2,在/ home / vagrant / Sites / vision / vision / vendor / intervention / image / src中调用/Intervention/Image/ImageManager.php在第85行并已定义
这是在Magics发生的地方,在ArticlesController.php中:
private function createArticle(ArticleRequest $request)
{
$article = Auth::user()->articles()->create($request->all());
$this->syncTags($article, $request->input('tag_list'));
$image = $request->file('image');
$directory = 'img/articles/';
$path = $image->getClientOriginalName();
$image->move($directory, $path);
Image::create([
'path' => $path,
'article_id' => $article->id
]);
// This one resizes the image successfully.
ImgResizer::make($directory . $path)->fit(600, 360)->save($directory . $path);
// This one is supposed to resize and cache the image, but spits the error above.
ImgResizer::cache(function($image, $directory, $path) {
$image->make($directory . $path)->fit(600, 360)->save($directory . $path);
}, 10);
}
不用担心,我不会同时使用这两个语句。仅仅展示我在这两个方面所做的事情,并希望有人可以将我引向正确的方向,并向我展示我在做错什么,因为我看不到它。
问题似乎与您的关闭功能有关。根据有关缓存对象的文档,它仅将1参数传递给闭包。您要输入3个参数。
function($image, $directory, $path)
因此,“缺少用于闭包的参数2 ...”错误。您将需要修改闭包以支持传递的一个参数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句