Изображение загрузки Laravel использует изображение вмешательства и генерирует уникальное имя - PullRequest
0 голосов
/ 11 октября 2019

Я использую laravel 5.8 и изображение вмешательства для загрузки и изменения размера изображения.

Я хочу сохранить это в папке storage/app/public/images и пытаюсь использовать фасад хранилища для автоматической генерации уникальногоимя, но следующее не работает:

 $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'));

1 Ответ

0 голосов
/ 11 октября 2019

Загруженные файлы используют временные имена файлов при загрузке в вашем приложении. Они могут служить уникальными именами, которые можно использовать для сохранения.

Вы можете получить к нему доступ с помощью метода ->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());

Я не проверял это, но янадеюсь, это поможет.

...