REST API多媒体上传

时间:2018-04-04 作者:Aleksandr Epp

在我了解了如何使用/媒体端点上载图像后,我想知道如何同时上载多个图像。目前,我正在使用以下代码:

const globFiles = []; // an array of files retrieved from file input
const onClick = () => {
return fetch(\'http://my.host/wp-json/wp/v2/media\', {
    method: \'POST\',
    headers: {
        \'Content-Type\': \'image/jpeg\',
        \'X-WP-Nonce\': window.nonce,
        \'Content-Disposition\': `attachment; filename="${globFiles[0].name}"`
    },
    body: globFiles[0]
}).then(response => response.json())
    .then((json) => {
        console.log(json) // here I receive the media object
    }).catch((error) => {
        console.error(error);
    });
}
媒体端点是否能够处理一组文件?我当前代码中的问题是内容处置头,因为我在那里提供了文件名。那么,将其包装在for循环中是一种方式吗?

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

虽然不是最优的,但没有什么可以阻止您同时发送两个请求,并在收到两个响应后继续您的逻辑。这对于jQuery或JS承诺来说相对容易,但在所有具有异步发送HTTP请求的API的语言中最有可能实现。

请记住,处理请求的CPU资源非常昂贵,因此请小心,不要试图一次发送1000个图像。

结束

相关推荐

Php致命错误:无法将WP_REST_RESPONSE类型的对象用作wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php中

我向WordPress添加了一个自定义端点,如下所示: add_action( \'rest_api_init\', function () { register_rest_route( \'menc/v1\', \'/crosscat/(?P[\\w-]+)/(?P[\\w-]+)\', array( \'methods\' => \'GET\', \'callback\' => \'dept_cat_api\',&#x