首页 > 解决方案 > React native 中对 api 的请求正文是否有限制?因为我无法将大型 base64 发送到服务器

问题描述

它说我syntax error: JSON Parse error. unrecognized token '<'

我正在使用 Fetch 来执行请求。它让我可以发送我尝试过的短 base64 字符串,我该怎么办?

这是我对 api 的调用:

export function uploadPost(post) {
    let data = {
        body: post.body,
        picture: post.picture,
        type: post.type,
        user: {
            _id: post.user._id,
            name: post.user.name,
            picture: post.user.picture
        }
    }

    var headers = {
        'Content-Type': 'application/json',
        'Access-Control-Origin': '*'
    }

    return fetch(URL + "/uploadPost", {
        method: "post",
        headers: headers,
        body: JSON.stringify(data)
    })
        .then(response => Promise.resolve(response.json()))
        .catch(err => {
            return Promise.reject(err);
        })
}

标签: react-native

解决方案


我终于解决了。问题是响应返回了 413 状态,我发现这意味着有效负载太大。所以我在我的节点 js express 服务器中添加了这行:

var app = express();
//after
app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));

推荐阅读