我正在尝试使用fetch()
使用JS(React Native)在WP Rest API中执行媒体上传。
这是我到目前为止所做的:
fetch('https://www.example.fr/wp-json/wp/v2/media', {
method: 'post',
headers: new Headers({
'Content-Type': 'image/jpeg',
'Authorization': 'Basic d3GtcmVzdC1sdfGktY2xpZW50Onefepbl9hdh90aWJldA==',
'Content-Disposition': 'attachment; filename="user-'+userId+'.jpg"'
}),
body: imageBase64Data
})
.then(function (response) {
console.log(response);
});
imageBase64Data
设置如下:
let imageBase64Data = 'data:image/png;base64,'+ imageData;
和imageData
是react-native-image-picker
response.data:https://github.com/react-community/react-native-image-picker#the-response-object
这是我的问题:媒体在我的WP上成功创建,但图像为空(没有数据,大约15B)。所以我猜测有些东西搞砸了我作为我的请求正文发送的数据。但我不知道是什么。
有什么想法吗?
答案 0 :(得分:1)
为了记录,以下是我最终使用react-native-fetch-blob
模块最终解决此问题的方法:
RNFetchBlob.fetch('post', 'https://www.example.fr/wp-json/wp/v2/media',
{
'Content-Type': 'image/jpeg',
'Authorization': 'Basic dqdsfqsdfpbl9hqsdfdsfWJldA==',
'Content-Disposition': 'attachment; filename="user-'+userId+'.jpg"'
}
,imageUri) // imageUri = RNFetchBlob.wrap(imageUri);
.then(function (response) {
console.log(response); // returns a 201 response with id of the attached media
});