python - 将 S3 对象名称转换为 S3 对象 url (python)
问题描述
我上传了一张名为
'Pepper, Pig (#PP).jpg'
到我的 S3 存储桶。我注意到 AWS 创建的相应对象 url 是:
'Pepper#2C+Pig+(%23PP.jpg)'
换句话说,它将所有空格转换为 + 并将逗号和哈希转换为十六进制。它不会更改括号。
这种类型的编码有特殊的名称吗?有没有办法将字符串转换成这个 AWS 对象 url 命名约定?
解决方案
正如 John 在评论中指出的那样,AWS 标题是 url 编码的,所以在 python 中,要将 S3 对象名称转换为 S3 对象 url,我们可以使用:
import urllib
object_name = 'Pepper, Pig (#PP).jpg'
object_url = urllib.parse.quote_plus(title)
结果是:
'Pepper%2C+Pig+%28%23PP%29.jpg'
与在 S3 中引用此对象时一样完美。
推荐阅读
- javascript - 使用 discord.js 制作邀请经理
- excel - 我需要获取工作表的代码名称(第一个),然后我可以检查它的名称
- python - scikit-learn 中的部分交叉验证
- c - HTTP 错误:C 中套接字编程中的错误请求
- python - 当我在 Pika 创建永久发布者时遇到问题
- node.js - 如何处理 Puppeteer “错误:页面崩溃!”
- c# - 如何通过 C# 连接 Phoenix
- javascript - 将相同的键值聚合到一个数组中并避免未定义
- c - 自定义 Malloc() 函数 :: 这个语法是什么意思?
- java - Spark数据集合并多行