Reputation: 827
$ php --version
: PHP PHP 7.1.3 (cli)mysql --version
: mysql Ver 8.0.23-0ubuntu0.20.04.1Unable to dd
code to iterate multiples file upload inside Controller. And dd($files)
is returning last uploaded file instead file array or object
$files = $request->file('file');
foreach ($files as $file){
dd($file);
}
upload.blade.php
<form>
<input name="file[]" class="form-control" type="file" id="file" multiple required>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<script>
$("form").submit(function(evt){
evt.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax({
url: '{{ route('upload') }}',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (data) {
console.log(data);
}
});
return false;
});
</script>
Upvotes: 1
Views: 108
Reputation: 5270
You have to use like this way
Form name should be like below
<form method="post" id="form_submit" enctype="multipart/form-data">
@csrf
....
<button type="submit" class="btn btn-success"><i class="fas fa-plus fa-xs"></i>Submit</button>
</form>
$(document).ready(function(){
$('#form_submit').on('submit', function(event){
event.preventDefault();
$.ajax({
url:'{{route('upload')}}',
method:"POST",
data:new FormData(this),
dataType:'JSON',
contentType: false,
cache: false,
processData: false,
success:function(data){
}
})
})
})
Upvotes: 1