using upload image with media_handle_upload .. but !
Use wp_handle_upload() to handle uploads yourself, without creating attachments or resizing. The media_handle_upload() function actually creates an attachment post, and the resizing process happens when wp_generate_attachment_metadata gets called. If you don’t call that, then no resizing occurs.