首页 > 解决方案 > 如何在reactjs中显示图像?

问题描述

我已经从 '@material-ui/core' 导入了 import { Avatar };使用头像显示图像

const TheHeader = () => {
  let _UsersId = localStorage.getItem("UsersId")
  const classes = useStyles();
  const [reRender, setRerender] = useState(false);
  const [profilepic, setprofilepic] = useState();
  const getProfile = async () => {
    const response = await Profile(_UsersId);
    setprofilepic(response.data)
  }
  useEffect(() => {
    getProfile();
  }, [reRender, profilepic]);
 .....


  <Avatar alt="" src={profilepic} className={classes.avatar}/>

结果是这样的(当前)

在此处输入图像描述

期望的结果

在此处输入图像描述

来自 api 的结果 console.log(response)

在此处输入图像描述

标签: reactjsmaterial-ui

解决方案


更新getProfile函数以从二进制数据创建objectUrl :

  const getProfile = async () => {
    const response = await Profile(_UsersId);
    const buffer = new Uint8Array(response.data)
    const blob = new Blob([buffer])
    setprofilepic(URL.createObjectURL(blob))
  }

推荐阅读