You can get the file from your Url like this:
//get the URL from your Metafield, $post is your current Post
$image = get_post_meta( $post->ID, '_your_image_url_meta', true );
//set up a query to search your posts table for the Url
global $wpdb;
$query = "SELECT ID FROM $wpdb->posts WHERE guid = %s LIMIT 1";
//prepare and launch the query
$result = $wpdb->get_results( $wpdb->prepare( $query, $image ) );
//if there are results
if ( count ( $result ) > 0 ) {
$image_id = $result['0']->ID;
//get the image data
$image_data = get_post_meta( $image_id, '_wp_attachment_metadata', true );
}
All the information you need should now be available in $image_data
. Keep in mind that you may need to change the script a little bit – for example if your Authors put in a thumbnail-url, you have to clean it first and change the query to a LIKE
statement.