Реакция загрузки изображения данных из нескольких частей response-native-fetch-blob
Сейчас я работаю над собственным реактивным проектом, в котором есть функция получения изображения и загрузки, и я использую реагирующий нативный-выборочный блоб для передачи многочастных данных для загрузки одного файла. Тем не менее, похоже, что не передает никаких данных в мой API.
Я также использую реагирующую камеру для захвата изображения. В зависимости от использования этого модуля, мой проект может захватывать изображение и отображать изображение, вызывая эту функцию.
this.camera.capture({ metadata: options })
.then((data) => {
console.log("image path: ", data.path);
})
.catch(err => console.error(err));
Тогда я получил такой результат,
image path: /var/mobile/Containers/Data/Application/.../AE1E52F0-8522-44D5-8603-21FB4EC9EAF9.jpg
Поэтому я использовал RNFetchBlob с этим путем для отправки изображения в мой API, как это,
RNFetchBlob.fetch(
'POST',
[url],
{
Authorization: jwtToken,
'Content-Type': 'multipart/form-data'
},
[
{
name: 'file',
filename: 'AE1E52F0-8522-44D5-8603-21FB4EC9EAF9.jpg',
type: 'image/jpeg',
data: RNFetchBlob.wrap('/var/mobile/Containers/Data/Application/.../AE1E52F0-8522-44D5-8603-21FB4EC9EAF9.jpg')
}
]
).then((response) => {
console.log("res: ", response.text());
})
.catch((error) => {
console.log(error);
});
После этого я проверил запрос, который я могу получить из моего API, он выглядит так:
{
host: 'localhost:3000',
connection: 'close',
'content-type': 'multipart/form-data; charset=utf-8; boundary=RNFetchBlob1881293472',
'user-agent': 'app/1 CFNetwork/811.5.4 Darwin/16.6.0',
accept: '*/*',
'accept-language': 'zh-tw',
authorization: 'JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiI1OTUxMzYxZDBkMTk3MjczNjNiMzRhN2EiLCJ1c2VyVHlwZSI6InVzZXIiLCJpYXQiOjE0OTg0OTQ1MTUsImV4cCI6MTQ5OTA5OTMxNX0.8vhDJtFugi4OQAJ48PTsBlAp8bw6x__KwOXvk6xuYW8',
'content-length': '552434',
'accept-encoding': 'gzip, deflate'
}
Но я попытался утешить моего req.body, я получил пустой объект {} из этого. Можете ли вы дать мне предложение по этому поводу? Спасибо ~
Я использую "response-native-fetch-blob": "^0.10.5" и "node": "v6.10.2"