2 个回答

根据你的截图,大概可能原因如下:
1、Http Response 的 Content-Type 被设置成了 arraybuffer 或者 application/octet-stream。导致浏览器把它当作二进制去解析展示了。这个时候你可以把拿到数据首先转化成 ArrayBuffer 对象,然后将它格式化成数据块,也就是 Blob 对象,然后根据Blob对象拿到一个 Blob 的地址,一个 'blob:' 开头的字符串,然后讲这个地址赋值给 img 元素的 src 属性即可展示。
2、另外,且不论什么是场景需要后端返回图片,更合理的做法是图片作为静态资源存储在静态资源服务器,服务端返回的是这个图片的地址,然后你把这个地址给img 的 src 属性。但是如果非要这样做,上面的方法可以帮到你。

根本问题不是你的content-type 设置错了,你设置的只是 HTTP Request 实体的格式,导致这个问题的是服务端返回的 HTTP Response 的头部 Content-Type 稍有不妥。建议详细阅读 HTTP 协议的 Content-Type 头的取值以及意义。

Content-Type 写得不对吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题