Я думаю, что ваша проблема вызвана тем, что вы уже return
звоните перед вызовом store()
, поэтому файл фактически не сохраняется.
Кроме того, Laravel документация содержит инструкции по предложенному способу установки диска publi c, чтобы в папке хранилища было все аккуратно, создавая символическую ссылку в диапазоне от /public/storage
до /storage/app/public
, но при необходимости вы можете изменить местоположение. как только вы указываете диск publi c в файле конфигурации вашей файловой системы на новый символьный путь, вы можете попробовать следующий код:
if($req->hasFile('image'))
{
// This line will save and then returns the saved file name
return $req->file('image')->store('/images','public');
}
Если вы пытаетесь сохранить загруженный файл с то же самое имя вместо хешированного по умолчанию, тогда вы можете использовать метод storeAs()
вместо этого, например:
if($req->hasFile('image'))
{
$uploadedFile = $req->file('image');
// This line will save with same name and then returns the saved file name
return $uploadedFile->storeAs('/images', $uploadedFile->getClientOriginalName(),'public');
}