【发布时间】:2022-01-11 11:00:02
【问题描述】:
我的 api 是 get() 并且响应包含 data 像这样
您可以看到的上图是我想使用 reactjs 在网络上显示的图像。而且我不知道该怎么做。
get api 返回 data, config, headers, request, status,statusText
我希望上面的数据有一些奇怪的格式,要显示我的图像。我不知道该怎么做。需要帮助
更新:
action
export const getFileImage = (payload) => async dispatch => {
try {
console.log("Payload--->",payload);
let response = await axios.get('/api/movies/' + payload.movieId + '/document/' + payload.genre.toLowerCase().toString());
console.log("Response----->",response);
} catch (error) {
console.log("error");
}
}
响应的输出:
【问题讨论】:
-
您是否向后端开发者或 api 提供者询问过这个问题?
-
是的。通过应用程序访问时它可以工作。但是当从网络调用时它不起作用
-
您的响应是二进制的,您必须在显示之前将其转换为 base64。你可以试试this 回答。但最好在 base64 本身中获得响应。移动应用程序和网络应用程序不一样,网络应用程序运行在浏览器上,而不是在主机操作系统上,因此您无法像移动应用程序那样在文件存储上创建文件。
-
@itiDi 事实上,这个 API 直接返回照片的代码,我的意思是像二进制的东西,基本上 android 能够显示......你不能在 web 上使用那种格式,我认为它会最好向后端开发人员询问返回 base64 代码的新路由或转换输出的选项
-
@itiDi 是的,完全正确!因为您可以轻松地将 base64 用于 UI 端
标签: node.js reactjs react-native encoding base64