How can i upload images in an admin page?

First of all edit_user_profile and show_user_profile action hooks don’t have to save the image, you can just add a field there. So

function image_up_gall(){
?>

    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
 <?php
}
add_action('edit_user_profile', 'image_up_gall');
add_action('show_user_profile', 'image_up_gall');

It is because WordPress has its own form tag already, just make sure that it has enctype="multipart/form-data"

Second step, using personal_options_update and edit_user_profile_update you can save the form/upload imag, to do so, use this code:

function save_profile_fields( $user_id ) {
$target_dir = "uploads/"; // I recommend to use wp_upload_dir() to get the correct path
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image 
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
            // here the image is uploaded and we can save it to user profile with:
            update_usermeta( $user_id, 'profile_pic', $target_file );
    }
}

add_action( 'personal_options_update', 'save_profile_fields' );
add_action( 'edit_user_profile_update', 'save_profile_fields' );

But I recommend you to use WordPress default media library to do that, there is a lot of code, so I better give you a link to the tutorial: https://rudrastyh.com/wordpress/customizable-media-uploader.html