Carregar arquivo para armazenamento remoto

Estou procurando replace a funcionalidade de upload existente para salvar o arquivo em um serviço de armazenamento remoto. O armazenamento remoto possui uma interface HTTP que me permite enviar arquivos e retornar um URL endereçável de volta. O motivo para isso é que o serviço de armazenamento remoto possui grande quantidade de espaço e é replicado automaticamente para alta disponibilidade.

Já percebi como enviar arquivos. No entanto, não tenho certeza de qual gancho / function que devo usar para replace o comportamento existente.

Solutions Collecting From Web of "Carregar arquivo para armazenamento remoto"

Duas opções:

  1. 'wp_handle_upload' , um filtro fornecido pela function wp_handle_upload() em wp-admin/includes/file.php :

     apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type ), 'upload' ) 

    Substitua o novo URI do arquivo por seu URI remoto.

  2. A function wp_insert_attachment() em wp-includes/post.php oferece duas ações:

     do_action('edit_attachment', $post_ID); do_action('add_attachment', $post_ID); 

    Você pode obter os dados de anexos por $post_ID e alterar qualquer valor aqui.