I´m traying to attach any files into email, and insert names into DB. But when i do a var_dump() in console i show one file only...
i have one input type file multiple:
<input type="file" name="adjunto" id="adjunto" multiple>
i get his value with jQuery:
var archivo = $("#adjunto").prop('files')[0];
var nombreArchivo = $("#adjunto").val();
and after insert into a formData()
formData.append('file', archivo);
i send all values to controller:
public function setIncidenciaPost(Request $request){
$uploadedFile = [];
$filename = [];
// bloque para adjuntar fichero al email al abrirIncidencia
if($request->file('file') != ""){
$uploadedFile[] = $request->file('file');
$destino = public_path().'/subidas';
for($i=0; $i<count($filename); $i++){
$filename[] = $uploadedFile[$i]->getClientOriginalName();
}
for($i=0; $i<count($filename); $i++){
$uploadedFile->move($destino, $filename[$i]);
}
echo var_dump($uploadedFile);
exit();
}
//fin bloque
$resultado = \DB::table('incidencias')->insert([
'fecha_solicitud' => $request["fechaSolicitud"],
'fecha_respuesta' => $request["fechaRespuesta"],
'categoria' => $request["categoria"],
'asignadoA' => $request["tecnico"],
'solicitante' => $request["solicitante"],
'prioridad' => $request["prioridad"],
'estado' => "pendiente",
'asunto' => $request["asunto"],
'cuerpo' => $request["mensaje"],
'cliente' => $request["cliente"],
'adjunto' => $filename
]);
$idIncidencia = \DB::getPdo()->lastInsertId();
// ENVIA EMAIL A LOS TÉCNICOS CUANDO SE GENERA LA INCIDENCIA
$this->enviarEmail($request);
When i do var_dump($filename) only i can show one file... i´m fettching all data and introduce it into one array, and also i´m fettching data name...
i know that i have a $("#adjunto").prop('files')[0];
and i sould to access only first file, but if i do var_dump(archivo) with out index i get in console:
array(1) {
[0]=>
object(Illuminate\Http\UploadedFile)#248 (7) {
["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
bool(false)
["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
string(11) "Captura.PNG"
["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
string(9) "image/png"
["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=>
int(0)
["hashName":protected]=>
NULL
["pathName":"SplFileInfo":private]=>
string(24) "C:\xampp\tmp\phpB785.tmp"
["fileName":"SplFileInfo":private]=>
string(11) "phpB785.tmp"
}
}
and i can show my files... i don´t know that i´m doing wrong
Thanks for help, sorry for my english
UPDATE
input:
<input type="file" name="adjunto[]" id="adjunto" multiple>
JQUERY
var fechaSolicitud = $("#fechaSolicitud").val();
var categoria = $("#categoria").val();
var prioridad = $("#Abrirprioridad").val();
var telefono = $("#telefonoContacto").val();
var asunto = $("#asunto").val();
var mensaje = $("#cuerpoMensaje").val();
var token = $("#token").val();
var archivo = $("#adjunto").prop('files');
var nombreArchivo = $("#adjunto").val();
var formData = new FormData();
formData.append('file', archivo);
formData.append('fechaSolicitud', fechaSolicitud);
formData.append('categoria', categoria);
formData.append('prioridad', prioridad);
formData.append('asunto', asunto);
formData.append('mensaje', mensaje);
formData.append('solicitante', codigoSolicitante);
formData.append('cliente', codigoCliente);
formData.append('tecnico', tecnicoSeleccionado);
formData.append('telefono', telefono);
$.ajax({
url: "/setIncidencia",
type: "POST",
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
contentType: false,
processData: false,
cache: false,
data: formData,
success: function(data){
$("#correcto").show();
$("#correcto").append("Incidencia Generada");
console.log(data);
CONTROLLER
public function setIncidenciaPost(Request $request){
$uploadedFile = [];
$filename = [];
// bloque para adjuntar fichero al email al abrirIncidencia
if($request->file('file') != ""){
$uploadedFile[] = $request->file('file');
$destino = public_path().'/subidas';
for($i=0; $i<count($filename); $i++){
$filename[] = $uploadedFile[$i]->getClientOriginalName();
}
for($i=0; $i<count($filename); $i++){
$uploadedFile->move($destino, $filename[$i]);
}
}
//fin bloque
echo var_dump($filename);
exit();
$resultado = \DB::table('incidencias')->insert([
'fecha_solicitud' => $request["fechaSolicitud"],
'fecha_respuesta' => $request["fechaRespuesta"],
'categoria' => $request["categoria"],
'asignadoA' => $request["tecnico"],
'solicitante' => $request["solicitante"],
'prioridad' => $request["prioridad"],
'estado' => "pendiente",
'asunto' => $request["asunto"],
'cuerpo' => $request["mensaje"],
'cliente' => $request["cliente"],
'adjunto' => $filename
]);
$idIncidencia = \DB::getPdo()->lastInsertId();
// ENVIA EMAIL A LOS TÉCNICOS CUANDO SE GENERA LA INCIDENCIA
$this->enviarEmail($request);
}
RESPONSE VAR_DUMP IN WEB BROWSER CONSOLE
array(0) {
}