问题描述
我有一个 Google Cloud 函数,我将其用作 API 以通过 fetch 调用检索一些数据。
- 我的网站托管在 wix 上。
- 我使用 WIX nodejs 环境 (VELO) 作为我的后端。
当我在 wix 的前端使用我的函数时,它工作并检索所需的长 BASE64 序列 (800ko) 作为字符串,显示在控制台中。
当我在后端使用它时,它不起作用。
export async function toCode(imgurL,sequencetoTranslate) {
const api_url = "MY_API_URL";
// const key = await getSecret("QRAPIKey");
var myHeaders = {};
myHeaders["Content-Type"] = "application/json";
myHeaders["Authorization"] = "Bearer MY_KEY";
var raw = JSON.stringify({ "text": sequencetoTranslate,"width": 1500,"height": 1500});
var requestOptions = {
method: 'POST',headers: myHeaders,body: raw
};
return fetch(api_url,requestOptions)
.then((httpResponse) =>{
if (!httpResponse.ok) { return Promise.reject("Fetch did not succeed");}
console.log(httpResponse);// <== **display in both front or back end**
return httpResponse.json();
})
.catch((z) => { console.log(z); return z })
}
httpResponse.json() 在前端工作,但在后端使用时不被处理。
它不工作的原因是my API 响应中数据的SIZE。 当我确保 base64 响应是大小的一半时:它在后端工作,我将数据作为控制台输入。
(为了便于阅读,我简化了请求的正文。)
有没有一种方法可以在不使用缓冲区或流的情况下,在后端实际获取从我的 API 中检索到的一长段数据?
我不知道它是否特定于 wix 或者它是否是我必须做的事情。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)