Если вы хотите получить оригинальное имя файла, вам нужно вызвать его для объекта UploadedFile
$pictureInfo = $request->file('pic');
$picName = $request->id . $pictureInfo->getClientOriginalName();
Вы можете упростить это, используя ref
и fetch
api
<input type="file" accept="image/*" @change="doctorImageSelected()" ref="doctorImage" />
<button style="float: left;" class="ajmal-custom-btn" @click="goToUploadImage()">Upload</button>
И в Javascript
export default {
data() {
return {
image: {},
id: 1 // Your ID and rest of data here
};
},
methods: {
doctorImageSelected(event) {
this.image = this.$refs.doctorImage.files[0];
},
goToUploadImage() {
var fd = new FormData();
fd.append("pic", this.image);
fd.append("id", this.id);
fetch(`${apiDomain}api/savePatientProfilePicture`, {
headers: {
Accept: "application/json",
"X-Requested-With": "XMLHttpRequest",
"X-CSRF-Token": document.querySelector('meta[name="csrf-token"]')
.content
},
method: "POST",
credentials: "same-origin",
body: fd
})
.then(response => {
if (response.status === 200) {
console.log(response);
}
})
.catch(e => {
console.log(e);
});
}
}
};
Надеюсь, это поможет