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.

  • tobogganablaze@lemmus.org
    link
    fedilink
    English
    arrow-up
    3
    ·
    2 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.