Allow WordPress contributors to upload files

By default, WordPress does not allow contributors to upload files. Contributors have limited access to your WordPress website. This is often preferred for security and management of the website. If you have multiple authors with posting rights set as “contributor” but you want to allow them to upload images, audio, videos and other allowed files, paste the code below in your theme’s functions.php file.

if ( current_user_can('contributor') && !current_user_can('upload_files') )
	add_action('admin_init', 'allow_contributor_uploads');
 
function allow_contributor_uploads() {
	$contributor = get_role('contributor');
	$contributor->add_cap('upload_files');
}

Source: DigWP