function wp_modify_uploaded_file_names($image_name) { 
    // Get the parent post ID, if there is one
    if( isset($_GET['post_id']) ) {
        $post_id = $_GET['post_id'];
    } elseif( isset($_POST['post_id']) ) {
        $post_id = $_POST['post_id'];
    } 
    // Only do this if we got the post ID--otherwise they're probably in
    //  the media section rather than uploading an image from a post.
    if(is_numeric($post_id)) {
 
        // Get the post slug
        $post_obj = get_post($post_id);
        $post_slug = $post_obj->post_name;
 
        // If we found a slug
        if($post_slug) {
 
            $random_number = rand(100,999999);
            $image_name['name'] = $post_slug . '-' . $random_number . '.jpg'; 
        } 
    } 
    return $image_name; 
}
add_filter('wp_handle_upload_prefilter', 'wp_modify_uploaded_file_names', 1, 1);