如何在React Native Android中发送多部分数据

时间:2017-09-25 07:17:21

标签: react-native xmlhttprequest react-native-android

我想使用XMLHttpRequest将多部分数据发送到React Native的服务器。

我的代码如下:

let body = new FormData();
const photo = {
    uri:  picture.picture.path, //"https://autralis.blob.core.windows.net/devthumbnails/1024x768/79/55/99/79559918324723216216211601856493692575062394716602088366146664699383830311185.jpg"
    type: 'image/jpeg',
    name: uuid + '.jpg', //66f8580e-4d99-46cb-b8db-e5f13640367c.jpg
};
body.append('photoGUID', uuid); //66f8580e-4d99-46cb-b8db-e5f13640367c
body.append('item', picture.item); //front-left
body.append('photo', photo);

let xhr = new XMLHttpRequest();
xhr.open('POST', Common.mainUrl +'/manager/api/v1/sync/request/picture/');

xhr.onload = function (e) {
    if (xhr.readyState === 4) {
        if (xhr.status === 200) {
            console.log("Success");
        }
    }
};
xhr.onerror = function (e) {
    console.log(JSON.stringify(e));
};
xhr.send(body);

在IOS上它正常运行,正如预期的那样。

但在Android上它并不起作用。 如果我只发送photo;因此,没有itemphotoGUID它可以正常工作,但如果我想发送照片和数据而不是它不会工作。

它出现在xhr.onerror中,错误信息如下:

...
_response": "Could not retrieve file for uri https://autralis.blob.core.windows.net/devthumbnails/1024x768/79/55/99/79559918324723216216211601856493692575062394716602088366146664699383830311185.jpg"
...

有什么想法吗?

0 个答案:

没有答案