You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中调用URL.createObjectURL转换Blob时报错「Cannot create URL for blob!」的问题求助

React Native中调用URL.createObjectURL转换Blob时报错「Cannot create URL for blob!」的问题求助

各位好,我现在在React Native项目里遇到了一个Blob转URL的问题,折腾了半天没搞明白,想请大家帮忙分析下:

问题背景

我正在用Google的places photos API获取图片,先在Postman里测试了请求,能正常拿到JPEG格式的图片,响应头也显示正常(截图里包含了相关的头字段信息)。

奇怪的现象

但把同样的请求放到React Native项目里时,却出现了错误:[Error: Cannot create URL for blob!]。

我试着打印了await response.blob()返回的Blob数据,结果如下,看起来所有字段都正常:

{"_data": {"__collector": {}, "blobId": "88865B74-7358-4D4C-BDBA-786330A6CE5D", "name": "2022-12-09.jpg", "offset": 0, "size": 36317, "type": "image/jpeg"}}

我的代码实现

下面是我写的请求和处理代码:

const [image, setImage] = useState<string>();

useEffect(() => {
  const fetchImage = async () => {
    try {
      const response = await fetch(
        "https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photo_reference=[PHOTO_REFERENCE]&key=[API_KEY]"
      );
      const data = await response.blob();
      console.log(data);
      setImage(URL.createObjectURL(data));
    } catch (e) {
      console.log(e);
    }
  };
  fetchImage();
}, []);

报错的行就是这一行:setImage(URL.createObjectURL(data));

我的疑问

既然Blob数据的size、type这些都正常,为什么调用URL.createObjectURL会报错呢?有没有朋友遇到过类似的问题,或者知道哪里出了问题?


备注:内容来源于stack exchange,提问作者RakibulB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 12:03:09