Я могу получить результаты с помощью curl -X POST -u "apikey:x" --header "Content-Type: audio/flac" --data-binary @/Users/xx/Downloads/audio-file.flac "https://apixxx"
.
Но в оригинальном реагировании ниже будет выдано сообщение об ошибке «Ошибка 400 неверных запросов: поток был 36 байтов, но должен быть не менее 100 байтов». - по-видимому, он взял "тело", которое я поставил как строку, а не как двоичный файл. Как это исправить пожалуйста? Спасибо!
window.btoa = require('Base64').btoa;
let result = await fetch(
'https://apixxx' , {
method: 'POST',
headers: {
'Content-Type': 'audio/flac',
'Authorization': 'Basic '+btoa(`apikey:x`)
},
body: JSON.stringify({
'data-binary': '@./audio-file.flac',
}),
}
).then(response => response.json());
Затем я попробовал другую версию с formdata, выдает ошибку: «Неверный запрос», код: 400, ошибка: «Нет JSON объект может быть декодирован»
window.btoa = require('Base64').btoa;
const formData = new FormData()
formData.append('file', {
uri: `file://${RNFS.DocumentDirectoryPath}/audio-file.flac`,
name: 'audio-file.flac',
type: 'audio/flac',
})
let res = await fetch('https://apixxx', {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data',
'Authorization': 'Basic '+btoa(`apikey:x`),
},
body: formData,
}).then(response => console.log(response.json()));
Как это исправить пожалуйста? Спасибо!