Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 8图像干预:Can';t将图像数据写入路径_Laravel_Image_Resize_Intervention - Fatal编程技术网

Laravel 8图像干预:Can';t将图像数据写入路径

Laravel 8图像干预:Can';t将图像数据写入路径,laravel,image,resize,intervention,Laravel,Image,Resize,Intervention,这就是我尝试使用图像干预软件包的方式: public function saveImage(string $path, $image) { $file = $image; $filename = Str::random(20) . $file->getClientOriginalName(); $imgResize = Image::make($image); $imgResize->heighten(300);

这就是我尝试使用
图像干预
软件包的方式:

public function saveImage(string $path, $image)
{
        $file = $image;

        $filename = Str::random(20) . $file->getClientOriginalName();

        $imgResize = Image::make($image);
        $imgResize->heighten(300);

        //dd(is_writable(storage_path('app/public/'.$path)));

        $imgResize->save(storage_path('app/public/'.$path));


        return $destination_path = Storage::disk('local')->put('/'.$path, $image);    
}
在不使用图像干预的情况下成功保存图像。当我尝试
save()
时,它会向我抛出以下错误:

干预\Image\Exception\NotWritableException:无法将图像数据写入路径

我已经更改了文件夹的权限,但仍然无法工作

你知道这是什么原因吗

编辑:

我之前做过
php artisan storage:link
,这就是为什么它不使用图像干预就可以工作的原因

我做了
dd(存储路径('app/public/'.$path))这将导致在同一文件夹中成功保存正常图像

我还检查了
是否可写
,结果是
true

出于测试目的,我已经将权限更改为
777


我不知道还需要做什么才能使这项工作正常。

save()
方法中添加文件名

$imgResize->save(存储路径('app/public/'.$path./'.$filename));
这里有一些来自

//打开图像文件并调整其大小 $img=Image::make('public/foo.jpg')->调整大小(300200)

//将文件另存为中等质量的jpg $img->save('public/bar.jpg',60)

//以默认质量保存与jpg相同的文件 $img->save('public/baz.jpg')

//以png格式保存文件 $img->save('public/bar.png')

//保存由第三个参数定义的图像jpg格式 $img->save('public/foo',80,'jpg')


$path中有什么?文件夹的名称:
review_images
如果我试图将其保存到其他位置,如:
$imgResize->save(存储路径('app/public/')。$filename))它可以工作。如果我试图将它保存到
$path
中,它将再次抛出相同的错误。问题是,我在一个服务中使用了这个方法,该服务适用于许多其他服务/控制器,我动态地获得了
$path
,所以我不能这样做:
$imgResize->save(存储路径('app/public/folder\u name')