Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

269
Vistas
la solicitud para obtener el último archivo en el formulario tiene entradas rellenadas por transferencia de datos, laravel

en primer lugar, no sé si es legal hacer esto, pero lea esta pregunta para entenderme mejor.

como leyó en la pregunta, tengo problemas para insertar nuevos archivos en una entrada, sabía que obtenía solo el último archivo debido a que los introduje en la lista de archivos de entrada. así que cambié empujando de esto: ( que funcionaba, pero solo en la última entrada en el formulario )

 function inputImage(quode, f){ let list = new DataTransfer(); list.items.add(f); let img = list.files; document.querySelector("#imageUploader_"+quode).files = img; }

a esto:

 function inputImage(quode, f){ document.querySelector("#imageUploader_"+quode).files.push(f); }

pero me sale este error

document.querySelector(...).files.push no es una función

lo entiendo de esta respuesta

También he probado esto

 function inputImage(quode, f){ document.querySelector("#imageUploader_"+quode).files.add(f); }

pero entiendo esto

TypeError: document.querySelector(...).files.add no es una función

el objeto de archivo se ve así (desde la consola):

 File { lastModified: 1642515255138 lastModifiedDate: Tue Jan 18 2022 17:14:15 GMT+0300 (GMT+03:00) {} name: "[(33),12,2314,100,45].jpeg" size: 8115 type: "image/jpeg" webkitRelativePath: "" [[Prototype]]: File }

la lista de archivos:

 FileList {length: 0[[Prototype]]: FileList}

EDITAR : ver esto puede ayudar

y esta es una documentación:

  1. Transferencia de datos de Mozilla
  2. Lista de archivos de Mozilla
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

el motivo no estaba relacionado con la transferencia de datos ni siquiera con JS. el problema de que no estaba administrando la matriz de solicitudes a la perfección, por lo que solo obtengo el archivo de la última entrada, así que cambié la solicitud de este

 public function store(Request $request){ $gen = ['_token','examHash','name','duration','bornline','deadline','note','hardness','vip','examType','published']; $questions = $request->except($gen);//questions $data = []; $count = 0; foreach($questions as $k => $i){ if(str_starts_with($k, 'ex_')){ $quode= ''; $ex = ''; $type = ''; $quode = str_replace("ex_", "", $k); $ex = $i; $type = $questions['questionType_'.$quode]; $count += 1; } $data += [$quode => []]; if(str_ends_with($k, $quode)){ // check if the $k is unnecessary element and skip it, add only needed data to $data array if((($type == "option" && (!str_starts_with($k, "label") && !str_starts_with($k, "single") && !str_starts_with($k, "choice"))) || ($type == "label" && (!str_starts_with($k, "option") && !str_starts_with($k, "single"))) || ($type == "single" && (!str_starts_with($k, "label") && !str_starts_with($k, "option") && !str_starts_with($k, "choice"))))){ $data[$quode]['sort'] = $count; $data[$quode] += [str_replace("_".$quode, "", $k) => $i]; } if(str_starts_with($k, "image")){ $questions['image_'.$quode]->storeAs('ques', $quode.$ex); } } } $data = array_merge(request()->only($gen), $data); dd($data); }

a esto

 foreach($questions as $k => $i){ if(str_starts_with($k, 'ex_')){ $quode= ''; $ex = ''; $type = ''; $image= ['']; $quode = str_replace("ex_", "", $k); $ex = $i; $type = $questions['questionType_'.$quode]; $image = $questions['image_'.$quode]; $count += 1; } $data += [$quode => []]; if(str_ends_with($k, $quode)){ // check if the $k is unnecessary element and skip it, add only needed data to $data array if((($type == "option" && (!str_starts_with($k, "label") && !str_starts_with($k, "single") && !str_starts_with($k, "choice"))) || ($type == "label" && (!str_starts_with($k, "option") && !str_starts_with($k, "single"))) || ($type == "single" && (!str_starts_with($k, "label") && !str_starts_with($k, "option") && !str_starts_with($k, "choice"))))){ $data[$quode]['sort'] = $count; $data[$quode] += [str_replace("_".$quode, "", $k) => $i]; $data[$quode]['image'] = $image; $data[$quode]['image']->storeAs('ques', $quode.$ex); } } }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda