this post was submitted on 21 Jan 2025
3 points (71.4% liked)

Programming

17894 readers
263 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

I have the following migration:

(Schema::create('user_images',function(Blueprint $table){ $table->id(); $table->binary('image'); $table->unsignedBigInteger('user_id'); $table->foreign('user_id')->references('id')->on('users'); });)

And the following corresponding model:

`class UserImage extends Model { protected $fillable=[ 'image' ];

public function user():BelongsTo{
    return $this->belongsTo(User::class);
}

}`

I am trying to create new UserImage records with UserImage::create but it is always failing, I am sending the image data using curl:

curl -v -F image=@$1 $URL/api/users -H "Accept: application/json"

I have tried so many things but I got different SQL-related errors, I am not sure how am I supposed to encode the image data to get them stored, I know that accessing $request->image returns only a temporary path of the image on the HDD.

you are viewing a single comment's thread
view the rest of the comments
[–] tobogganablaze@lemmus.org 4 points 3 days ago* (last edited 3 days ago) (2 children)

Are you set on storing your image in the database?

If not I'd recommend the spatie media library:

https://spatie.be/docs/laravel-medialibrary/v11/introduction

[–] lonesomeCat@lemmy.ml 2 points 3 days ago (1 children)

I'm not, but shouldn't this be an easy task ootb in Laravel?

[–] tobogganablaze@lemmus.org 3 points 3 days ago

I guess it should be, but I've never tried storing files in the DB.

It's rather easy upload files to the file system with the Storage Facades, but that doens't have an build in way to associate the files with models. That's where the spatie media library comes in.