Upload file to remote storage

时间:2012-05-14 作者:ltfishie

我希望覆盖现有的上载功能,以便将文件保存在远程存储服务上。远程存储有一个HTTP接口,允许我发布文件并返回可寻址的URL。这样做的原因是远程存储服务有大量的空间,并且会自动复制以实现高可用性。

我已经想出了如何发送文件。但是,我不确定应该使用哪个钩子/函数来覆盖现有的行为。

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

两个选项:

钩住\'wp_handle_upload\', 函数提供的过滤器wp_handle_upload() 在里面wp-admin/includes/file.php:

apply_filters( 
    \'wp_handle_upload\', 
    array( \'file\' => $new_file, \'url\' => $url, \'type\' => $type ), \'upload\' 
)
用远程URI替换新文件URI。

功能wp_insert_attachment() 在里面wp-includes/post.php 提供两个操作:

do_action(\'edit_attachment\', $post_ID);
do_action(\'add_attachment\', $post_ID);
您可以通过以下方式获取附件数据:$post_ID 并在此处更改任何值。

结束

相关推荐

404从wp-Content/Uploads/获取图像时

我在获取图像时获得404状态,http仍然包含该图像。图像显示在浏览器中,但404代码中断了一些应用程序。对wp内容/上载/的调用被重定向到。htaccess:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] RewriteRule (.*) /index.php?getfile=$1 [L] </IfModule>&