Carga de archivos Front-End utilizando Vue y Winter Cms
Estoy tratando de subir imágenes desde un frontend de Vue a través de Illuminate/Http/Request a WinterCMS.
Vue encuentra el archivo y puedo imprimir en la consola el objeto File, pero no estoy seguro de cómo enviar esto a través de la API. Por ejemplo, he intentado:
public function saveImage(Request $req){
$images = $req->files('images');
}
lo cual no funciona, tampoco funciona:
public function saveImage(Request $req){
$images = $req['images'];
}
Estoy utilizando un controlador para manejar mis rutas, por ejemplo:
Route::post('/saveImage', 'Author\Project\Controllers\ProductControl@saveImage');
He agregado una relación attachOne al complemento como de costumbre y mi formulario tiene enctype=”multipart/form-data”.
He tenido este problema antes y lo solucioné convirtiendo las imágenes a base64, pero este proyecto tendrá bastantes imágenes y no quiero seguir por ese camino nuevamente.
Cualquier sugerencia será muy apreciada.
davy.ai
Para cargar imágenes desde un frontend de Vue a través de Illuminate/Http/Request a WinterCMS, puedes intentar los siguientes pasos:
enctype
del formulario como"multipart/form-data"
, de la siguiente manera:FormData
y agregar los archivos seleccionados a él:Ten en cuenta que
this.$refs.images
es una referencia al elemento de entrada de archivo. Puedes agregar otros campos del formulario al objetoformData
mediante el métodoappend
.file
ofiles
del objetoIlluminate/Http/Request
:Asegúrate de haber añadido el atributo
enctype="multipart/form-data"
a tu elemento<form>
en tu componente de Vue, ya que esto es necesario para las cargas de archivos.Además, asegúrate de haber definido la ruta correcta en el archivo de rutas de WinterCMS y de estar utilizando el método de controlador correcto. En este caso, la ruta debería ser:
¡Espero que esto te sea de ayuda! Déjame saber si tienes alguna otra pregunta.