百度云bos 存储 base64形式上传成功后,下载的图片 里面还是原base64 内容 本地无法查看 也无法在网站展示

发布于 2022-09-12 01:26:19 字数 639 浏览 23 评论 0

百度云bos 存储 base64形式上传成功后,下载下来的图片 里面还是原base64 内容 本地无法查看 也无法在网站展示,img和video采用base64格式能用

文件开头是data:image/jpeg;base64,/9j/4RlRRXhpZgAATU
但把开头去掉也不正常

补充问题 百度云采用 百度自己的客户端api 上传内容到 百度云
client.putObject(BUCKET, newName, file, options)
其中file为base64格式(接口会有验证,会验证是字符串还是base64)我采用了base64 正常上传以后 查listbucket也能查到在bos里图片,但直接通过url 下载
https://su.bcebos.com/v1/dev-...
图片 无法正常查看(因为内部编码是base64的)
请求头里的content-type用的也是图片的
image.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

颜漓半夏 2022-09-19 01:26:19

这是转换以后的流文件,直接用链接是拿不到文件的。你要在后端拿到流文件后回传到前端,才能识别为文件,具体操作可以查文档。我用的阿里云,API 里就有一个 getStream 方法,百度云应该也类似。image 通过链接能直接显示图片,是因为内部已经封装好了转换逻辑。

等往事风中吹 2022-09-19 01:26:19

完全不知道你想问啥,描述清楚点啊

国产ˉ祖宗 2022-09-19 01:26:19

请求头里的contentType是告诉服务器怎样解析你的请求主体的,其实你传base64的话,主体其实是个字符串,contentType可不设定(一般即json)。
如果是使用formData上传文件,则设定为multipart/form-data即可。

你这个地址是怎么得到的,访问不到图片?

你的往事 2022-09-19 01:26:19

具体的建议查看百度云的开发文档,我没用过,猜不到。

不过在做 atob(ascii 转二进制)的时候,data:image/jpeg;base64, 这一截需要去掉。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文