有没有想过用WordPress来建立自己的文件存储空间,当作自己的网盘使用?这个业务实现的主要逻辑其实就是自己写一个Rest API接口上传文件到WP的媒体库中。
首先我们需要安装一个插件,这个插件很小,只是给网站后台登录提供Basic认证,并不是用来拓展业务接口的。开通了Basic认证方式,我们才有途径获得使用Rest API更新网站内容的权限,否则Rest API只提供读取权限。插件名称叫做JSON Basic Authentication,官方下载地址:https://github.com/WP-API/Basic-Auth
要做接口,就先创建endpoint。这次我创建两个,一个是用来转存网上的文件的,一个是用来自己上传文件的。
add_action( 'rest_api_init', function () { //如果你不打算把文件存到WP默认的位置,这是修改位置的钩子 add_filter( 'upload_dir', 'brain1981_upload_dir'); //转存 register_rest_route( 'brain1981/v1', '/catch/', array( 'methods' => 'POST', 'callback' => 'brain1981_api_post_catch', ) ); //上传 register_rest_route( 'brain1981/v1', '/stream/', array( 'methods' => 'POST', 'callback' => 'brain1981_api_post_stream', ) ); }); |