我正在尝试将multipart/form-data
通过我的应用上的URLRequest
发送到Cloud Functions for Firebase。为了测试我的云功能和我的应用是否已连接,我创建了一个测试功能并进行了部署:
function test(data, callback) {
console.log("Test begin:");
console.log(data);
console.log("Test finish...");
callback(null, null);
}
exports.test = functions.https.onRequest((request, respond) => {
console.log("test called");
test(request.body.data, function(data, error) {
respond.json({
data: data,
error: error
});
});
});
然而,在发送URLRequest
之后,控制台上没有打印任何内容,相反,我得到了一个html作为数据。通过打开html,我得到Error: Forbidden. Your client does not have permission to get URL / from this server.
我该如何解决这个问题?
答案 0 :(得分:1)
云函数具有处理不同类型输入的特殊方法。 It's documented here
对于multipart/form-data
,您可以request.rawBody
访问内容。
答案 1 :(得分:1)
感谢@Doug Stevenson,问题是我使用了错误的URL而不是提供的URL。在部署云功能时,可以在控制台上找到URL。