#Laravel vue storage
1 messages · Page 1 of 1 (latest)
php artisan storage:link
luego revisas si el folder realmente está vinculado
y cuando guardas los archivos deberías poder guardarlos públicamente
con el método storePublicly
con laravel
también revisa si puedes acceder a la url de la imagen directamente en el navegador
ui, perdon que no sabia esto de los hilos xd
xD ntp, es que así es más fácil agrupar ideas 👍🏽
funciona esto?
aqui tengo bien vinculado el storage en public no?
entonces tienes que elegir el disco público
pero tendrian que estar en storage/public/avatars no?
Storage::disk('public')
ajá
okey, voy a intentarlo
public function store(Request $request)
{
$request->validate([
'name' => ['required'],
'email' => ['required', 'email', 'unique:user'],
'password' =>['required'],
'image' => 'image|mimes:jpeg,png,jpg,gif,svg',
]);
$file = $request->file('img');
$path = $request->img->store('avatars');
Storage::setVisibility($path, 'public');
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
'permissions' => 1,
'img' => $path,
]);
return response()->json([
'user' => $user
]);
}
mmm, algo tal que asi tendria que quedar??
uso laravel 8, por si hay algun metodo que no funcione
sí, pero además tienes que utilizar el disco público
$request->file('img')->store('avatars', 'public');
y ya luego la visibilidad para que tenga los permisos en linux
vale, entonces las 3 lineas que tengo entre el validate y el create tendria que quitarlas y poner esto
nope, están bien
solo la de $path = $request->img->store('avatars') en lugar de hacerle store('avatars') añadele el disco al final
$path = $request->img->store('avatars', 'public')
vale okey, ahora entiendo
perfe, pues voy a ver tmb lo de los permisos de linux
que es en config/filesystems
eso lo hace tu otra línea la de Storage::setVisibility($path, 'public') así que no necesitas hacer nada más 👍🏽
oh, perfecto
y ahora para llamar al src de la imagen desde vue me vale con ponerle la ruta de avatars/img.png?
debería ser /storage/avatars/img.png
pero cuando guardas el path se guarda así, creo
pues voy a comprobarlo
dale 😄
Error 422 xd
ah espera que es pq tengo el mimo usuario ya en la bd creo
mmm, me llega a guardar la imagen en app/public/avatars pero despues me suelta error 500 y no me registra al usuario
creo que esta fallando esta linea
Storage::setVisibility($path, 'public');
Llevo probando todo el rato y no he conseguido que funcione con el setVisibility
si el si que va bien
Pues si que funciona asi
hay alguna forma de comprobar que los permisos para linux estan bien??
mmm debería ser suficiente con el store publicly, laravel se encarga de eso
sí, y solo ten cuidado de ejecutar php artisan storage:link una y solo una vez, no más
vale, me entro miedo, no quiero saber que pasa
bueno en verdad si que quiero saber que pasa, pero no que me pase a mi
xD solo se arruina el link que hace y se vincula a sí mismo o algo así xD jajaja
