Проблемы с полем загрузки файла изображения Laravel Spark

Я переезжаю в Laravel Spark. На странице настроек профиля я пытаюсь добавить поле загрузки изображения. Поскольку профили используют VueJS, я не уверен, как к этому подойти. Я следовал за документами, чтобы добавить обычные текстовые поля, но не могу заставить загруженные файлы изображений работать.

Форма лезвия

<!-- confirm_splash - Image File -->
<div class="form-group row justify-content-center">
<div class="col-md-6 d-flex align-items-center">
<div class="image-placeholder mr-4">
<span role="img" class="profile-photo-preview" :style="previewStyle"></span>
</div>
<div class="spark-uploader mr-4">
<input ref="confirm_splash" type="file" class="spark-uploader-control" name="confirm_splash"  :disabled="form.busy">
<div class="btn btn-outline-dark">{{__('Update Photo')}}</div>
</div>
<span class="invalid-feedback" v-show="form.errors.has('confirm_splash')">
@{{ form.errors.get('confirm_splash') }}
</span>
</div>
</div>

Обновить данные профиля — компонент VueJS
Не уверен, если мне нужно добавить функцию внутри методов, чтобы получить файл изображения.

Vue.component('update-profile-details', {
props: ['user'],

data() {
return {
form: new SparkForm({
business_name: '',
confirm_splash: ''
})
};
},

mounted() {
this.form.confirm_splash = this.user.confirm_splash;
},

methods: {
update() {
Spark.put('/settings', this.form)
.then(response => {
Bus.$emit('updateUser');
});
}
}
});

Профиль Подробности Контроллер
Первоначально это работало без VueJS при отправке формы. Я использую идентификатор автора, чтобы добавить загруженное изображение в управляемый каталог.

public function update(Request $request)
{
$this->validate($request, [
'business_name' => 'required|min:1',
]);

//Get the current user ID
$data['id'] = Auth::user()->id;
$authorID = $data['id'];
$file = request()->file('confirm_splash');

if($file) {
$fileExtension = $file->extension();
$unique_name = md5($file. time()).'.'.$fileExtension;

$fileImg = $file->storeAs('/public/profile/' . $authorID, $unique_name);
$filePub = '/profile/'. $authorID."/".$unique_name;

};

if(!$file) {
$filePub = '';
}

$request->user()->forceFill([
'business_name' => $request->business_name,
'confirm_splash' => $filePub,
])->save();
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector