dre1080 / wp-graphql-upload
为 WP GraphQL 插件添加文件上传支持。
v0.1.5
2023-07-17 11:43 UTC
Requires
- php: >=7.1
Requires (Dev)
README
此插件根据 graphql-multipart-request-spec 指定的规范,为 WPGraphQL 插件 添加上传支持。
要求
- PHP >= 7.1
- WordPress >= 5.0
- WPGraphQL >= 1.0.0
激活/使用
您可以将此插件像任何 WordPress 插件一样安装和激活。从 Github 下载 .zip 文件并将其添加到您的插件目录中,然后激活。
一旦插件激活,Upload
标量类型将可用于您的突变输入字段。
如果您使用 composer
composer require dre1080/wp-graphql-upload
用法
然后您可以在突变中使用如下所示
register_graphql_mutation( 'upload', [ 'inputFields' => [ 'file' => [ 'type' => ['non_null' => 'Upload'], ], ], 'outputFields' => [ 'text' => [ 'type' => 'String', 'resolve' => function ($payload) { return $payload['text']; }, ], ], 'mutateAndGetPayload' => function ($input) { if (!function_exists('wp_handle_sideload')) { require_once(ABSPATH . 'wp-admin/includes/file.php'); } wp_handle_sideload($input['file'], [ 'test_form' => false, 'test_type' => false, ]); return [ 'text' => 'Uploaded file was "' . $input['file']['name'] . '" (' . $input['file']['type'] . ').', ]; } ] );
测试
要求
要运行测试,请执行以下命令
bin/install-wp-tests.sh vendor/bin/phpunit