Here's my controller (minus some logic that is definitely not affecting my issue):
$this->validate($request, [
'file_avatar' => 'nullable|file',
]);
if ($request->has('file_avatar')) {
$file_avatar = $request->file_avatar; // this has a type of UploadedFile
$avatar_path = Storage::putFile('avatar_files', $file_avatar); // this returns a string with a unique file name and path to the correct directory (avatar_files/pkKhjw1GpUGKQbmA8H6djpeFU9j4qrIH1uZqUWqM.jpeg), but the file isn't created
}