在 Laravel 5.3 中的数据库中的图像上添加水印

Adding watermark on image from databases in Laravel 5.3

我正在尝试使用 Intervention Image 包在 Laravel 数据库中的图像上添加水印。在我的数据库 table 中,我正在保存图像的路径。我在我的模型中使用访问器来访问图像路径的字段,但我收到此错误:

方法插入不存在。

这是我的模型:

这是我的 blade:

public function getFilePathAttribute($value){
    $img = Image::make(public_path($value)); //your image I assume you have in public directory
    $img->insert(public_path('watermark.png'), 'bottom-right', 10, 10); //insert watermark in (also from public_directory)
    $img->save(public_path($value)); //save created image (will override old image)
    return $value; //return value
}

最好在上传时执行此操作,这样您就可以在尝试从数据库访问图像路径时执行一次(较少的过程)仅供参考:这将保存已经加水印的图像