Is there a way a user/member can upload a file and link it in his profile page?

Yes, this is possible. You would need to hook show_user_profile – from /wp-admin/user-edit.php:

if ( IS_PROFILE_PAGE ) {
    /**
     * Fires after the 'About Yourself' settings table on the 'Your Profile' editing screen.
     *
     * The action only fires if the current user is editing their own profile.
     *
     * @since 2.0.0
     *
     * @param WP_User $profileuser The current WP_User object.
     */
    do_action( 'show_user_profile', $profileuser );
} else {
    // Snip...

This will allow you to display your upload form. Then, you need to hook into personal_options_update to update the user’s profile with the data:

if ( IS_PROFILE_PAGE ) {
    /**
     * Fires before the page loads on the 'Your Profile' editing screen.
     *
     * The action only fires if the current user is editing their own profile.
     *
     * @since 2.0.0
     *
     * @param int $user_id The user ID.
     */
    do_action( 'personal_options_update', $user_id );
} else {
    // Snip...

Finally, once you have that all working, you can display the information on your users’ profile pages.

There may also be plugins to do the same thing, but I don’t think it would be too much to roll your own.

tech