How to get profile user id when uploading image via media uploader on profile page

You need to pass the $profileuser->ID as the second argument when you call your function and define it accordingly:

add_filter('wp_handle_upload_prefilter', 'my_pre_upload', 2, 2);
// (3rd param is priority, 4th is number of args)
// and pass the $userid as argument to your function

function my_pre_upload($file, $userid = false){
    // if no user specified, get $current_user
    $userid = $userid ?: get_current_user_id();

    $user = get_userdata( $userid );
    $myAuthorImg = 'author-' . $user->ID . '.jpg";
    $file['name'] = $myAuthorImg 

    return $file;
}

Leave a Comment