首页 > 解决方案 > Laravel“无法将图像数据写入路径({$path})”

问题描述

我在 ubuntu 18.4 上创建 Laravel 项目。

我上传我的项目/var/www/html/并上传图片home/sun/download/

运行此代码后:

$imageName = "thumb_{$size}.{$extension}";
$routePath = $url . '/products/' . $product->id . '/';

Image::make($file->path())->resize($size, null, function ($constraint) {
            $constraint->aspectRatio();
        })->save($routePath, $imageName);

显示此错误:

"Can't write image data to path (/home/sun/download/products/2/)"

如何发出这个问题?

标签: laravelfile-permissionslaravel-6directory-permissions

解决方案


权限问题,您是否尝试过使用 Storage 门面?

$Image->save(Storage::disk('your_disk')->path($routePath), $quality);

这就是我在我的情况下存储图像的方式

Image = Image::make($source);
$Image->getCore()->stripImage();

# Resize the image and save
$Image->fit($width, $height, function ($constraint) {
     $constraint->upsize();
});

return $Image->save(Storage::disk('public')->path($destination), $quality);

推荐阅读