记一次使用阿里云oss中出现的特殊字符ecoder导致的问题

记一次使用阿里云oss中出现的特殊字符ecoder导致的问题

由于公司业务需求, 需要为购买了私有云的客户进行oss数据迁移, 在数据迁移完成后, 发现大量的图片显示不出来

迁移的方案

        客户原本购买的公司平台账号, 其使用的数据全部储存在公司的oss文件服务器上, 例如, 某图片的url为:
https://example.domain.com/test-Picture/2019_03_22-11_41_50.jpg

        由阿里云oss的规则, 其图片在oss上存储的路径(objectKey)为test-Picture/2019_03_22-11_41_50.jpg

        现在需要将该图片迁移到客户自己的oss上, 采用的方式为objectKey不变, 替换为客户的oss域名上传, 上传完成后, 新的图片url应该为:
https://example.new-domain.com/test-Picture/2019_03_22-11_41_50.jpg

问题原因

在oss上根据路径查到该文件后, 发现文件的路径是正确的, 但如果该路径中出现了例如%, 这样的特殊字符的时候, oss会自动帮我们encoder一下, 导致下载的图片url会变.

如果上述描述看不懂的, 可以看下面的例子:

  1. 原图片url为: https://example.domain.com/test-Picture/%E5%89%AF%E6%9C%AC.jpg
  2. 上传到新oss上后, 文件路径仍然为: test-Picture/%E5%89%AF%E6%9C%AC.jpg
  3. 但使用: https://example.new-domain.com/test-Picture/%E5%89%AF%E6%9C%AC.jpg这个地址无法下载文件
  4. 路径中的特殊字符"%"在上传到oss上后, 其字符已经被encoder过
  5. 正确的下载路径为: https://example.new-domain.com/test-Picture/%25E5%2589%25AF%25E6%259C%25AC.jpg
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值