Tricks

Allow WordPress Contributors to Upload Images, Not All Kind of Files

Go dashboard -> Appearance -> Theme Editor -> Theme Functions

Add the following php code

// Let Contributor Role to Upload Media
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' );
}

// Upload Images Only
add_filter('upload_mimes', 'custom_upload_mimes');
function custom_upload_mimes( $existing_mimes=array() ) {
$existing_mimes = array('jpg|jpeg|jpe' => 'image/jpeg',
'gif' => 'image/gif',
'png' => 'image/png',
'bmp' => 'image/bmp',
'tif|tiff' => 'image/tiff',
'ico' => 'image/x-icon');

return $existing_mimes;
}