Bunun için spatie/laravel-media paketi uygun bence, Dediğiniz gibi ise kişinin sadece profil resmi olacaksa
User ın HasMedia Trait ini kullanmasını sağlarsınız ve ona profil resmine özel bir Conversions yazarasınız
`use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\Image\Manipulations;
use Spatie\MediaLibrary\InteractsWithMedia;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
class User extends Model implements HasMedia
{
use HasFactory,InteractsWithMedia;
protected $guarded=[];
public function registerMediaCollections(): void
{
$this
->addMediaCollection('poster')
->singleFile()
->registerMediaConversions(function (Media $media) {
$this
->addMediaConversion('cover image')
->fit(Manipulations::FIT_FILL,300,300)
->nonQueued();
});
$this->addMediaCollection('gallery');
}
}`
ve resmi post etmeye çalıştığınızda ise
public function upload(User $album,Request $request)
{
if ($request->has('cover_image')){
$album->addMedia($request->cover_image)
->toMediaCollection('poster');
}
return redirect()->back()->with('success','Post was updated successfully');
}
bu yoksa yenisini varsa eskisi ile değiştirmenizi sağlar.