Я пытаюсь загрузить и сохранить несколько изображений, но сохраняется только последнее изображение, остальные просто игнорируются.
Я использую Nuxt, Axios и Laravel в качестве API.
Это FormData Console.log
И это ответ API Laravel с добавлением только последнего изображения
Надеюсь, кто-томожет помочь мне выяснить, что происходит, спасибо заранее
Pug
input(type='file' ref='files' accept='image/*' multiple @change='handleFilesUpload()' style='display:none')
.text-xs-right.pb-3
v-btn(@click='$refs.files.click()' color='#B6944C')
v-icon add
v-btn(color='green' @click='submitFiles()')
Axios
async submitFiles(){
let fd = new FormData()
for(var i = 0; i < this.files.length; i++){
let file = this.files[i]
//fd.append('photo[' + i + ']', file)
fd.append('photo[]', file)
}
try{
await this.$axios.$post(`/albums/${this.$route.params.id}/photos`, fd, {headers:{'Content-Type': 'multipart/form-data'}})
console.log(...fd)
alert('uploaded')
this.files = ''
//this.$router.push(`/photo/${this.$route.params.id}`)
//location.reload()
}
catch(err){
console.log(err.response.data)
alert(err)
}
}
Laravel Controller
public function store(PhotoInAlbumRequest $request, Album $album){
$photo = new PhotoInAlbum();
$photo->photo = $request->photo;
$images = $request->file('photo');
if($request->hasfile('photo')){
foreach($images as $image){
$filenameWithExt = $image->getClientOriginalName();
$filename = pathInfo($filenameWithExt, PATHINFO_FILENAME);
$extension = $image->getClientOriginalExtension();
$filenameToStore = $filename.'_'.time().'.'.$extension;
$path = $image->storeAs('photo/images',$filenameToStore,'public');
$photo->photo = $path;
$album->photos()->save($photo);
}
}
return new PIAResource($photo);
}