Я использую Dropzone для загрузки изображений в SPA, используя vue. js, хотя путь правильный, но изображения не появляются, не знаю почему !! введите здесь описание изображения снимок экрана с vue dev tool
код, который я использую
<img
:src="imageObject.data.attributes.path"
:class="classes"
ref="userImage"
:alt="alt"
>
и код в контроллере
$data = request()->validate([
'image' => '',
'width' => '',
'height' => '',
'location' => ''
]);
$image = $data['image']->store('user-images', 'public');
$userImage = auth()->user()->images()->create([
'path' => $image,
'width' => $data['width'],
'height' => $data['height'],
'location' => $data['location'],
]);
return new UserImageResource($userImage);
и в User. php модель я использовал
public function coverImage()
{
return $this->hasOne(UserImage::class)
->orderByDesc('id')
->where('location', 'cover')
->withDefault(function ($userImage) {
$userImage->path = 'user-images/cover-default-image.png';
});
}
и то же самое с методом profileImage и для ресурса
return [
'data' => [
'type' => 'user-images',
'user-image-id' => $this->id,
'attributes' => [
'path' => url($this->path),
'width' => $this->width,
'height' => $this->height,
'location' => $this->location,
]
],
'links' => [
'self' => url('/users/'.$this->user_id)
]
];