我正在使用laravel 5.8和干预图像来上传图像并调整其大小。
我想将其存储在storage/app/public/images
文件夹中,并且尝试使用Storage Facade自动生成唯一的名称,但是以下操作无效:
$file = $request->file('file');
$image = Image::make($file->getRealPath())->resize(360, 180);
Storage::disk('public')->putFile('images', $image->getEncoded());
是否可以使用存储外观为图像自动生成唯一的文件名,类似于上载普通文件时的图像,如下所示:
Storage::disk('local')->putFile('forms', $request->file('file'));
答案 0 :(得分:0)
在应用程序中上载时,上载的文件使用临时文件名。这些可以用作您可以保存的唯一名称。
您可以使用上传文件的->getPathName()
方法访问此文件。
或者,您可以使用->getClientOriginalName()
作为文件的原始名称。
对于Intervention/Image
,您可以使用->save()
方法将此图像保存到目标文件夹:
$file = $request->file('file');
$image = Image::make($file->getRealPath())
->resize(360, 180)
->save(storage_path('app/public/images/'.$file->getPathName());
我还没有测试过,但是希望对您有所帮助。
答案 1 :(得分:0)
$ image = Image :: make($ request-> file('file'))->调整大小(360、180) ->保存(storage_path('app / public / images /'.$ file-> getPathName());