- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 django 应用程序中,我收到一个 POST 变量,其中包含上传到 amazon s3 的文件的名称。
但是我收到了 unicode 格式的 key ,当我将 key 传递给 boto 和 amazon s3 时,没有返回任何内容。但是,如果我使用 boto 列出存储桶,并从列表中获取 key ,则 amazon s3 会返回预期的对象。
所以我的问题是,如何将我的 unicode 键名转换为与 boto 相同的键编码,以便亚马逊给我该对象。
我怎么知道 boto 键的编码是什么?
非常感谢任何见解,这个让我发疯。在我们添加正斜杠之前一切正常,我不明白为什么会有所不同。
这是来自终端的代码:
>>> unicode_key_name
u'missionuploads/tom-mission-4d8f9da9122ac21c17000002-4_4_11_9_38_PM.jpg'
>>> boto_key_name
'missionuploads/tom-mission-4d8f9da9122ac21c17000002-4_4_11_9_37_PM.jpg'
>>> len(unicode_key_name)
70
>>> len(boto_key_name)
70
>>> unicode_key = bucket.get_key(unicode_key_name.encode('utf-8'))
>>> unicode_key
>>> unicode_key = bucket.get_key(unicode_key_name.encode('ascii'))
>>> unicode_key
>>> boto_key = bucket.get_key(boto_key_name)
>>> boto_key
<Key: user.media.eu,missionuploads/tom-mission-4d8f9da9122ac21c17000002-4_4_11_9_37_PM.jpg>
-------- 编辑------------
传递 unicode 字符串工作正常,无需转换它,只需确保您正在搜索正确的键名!
因为我刚刚在服务器端收到 key 名称,我认为它是正确的,但错误似乎是在应用程序端用一个名称保存,然后将新创建的名称(一分钟不同)发送到服务器。
最佳答案
'37'
和 '38'
是不同的字符串。当您使用正确的值时,它可能会正常工作。
关于python - 如何转换 unicode 键名以便 amazon-s3 能够识别它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5544465/
我正在使用 Java 编写一个时钟程序,该程序能够“滴答作响”,但它存在问题。我认为它与 getter 和 setter 或 toString() 方法有关。 计数器类 package clock;
const Index = () => { // Ref Links const frefLinks = { 1: useRef(1), 2: useRef(2), 3: useRef(3
所以我读了here不能 pickle 装饰函数。确实: import multiprocessing as mp def deco(f): def wrapper(*args, **kwarg
我在go1.11.2 linux/amd64 版本。当包godog使用 go get github.com/DATA-DOG/godog/ 安装,godog 可执行文件在 $GOPATH/bin/中创
如何正确压缩字符串,以便 PHP 能够解压缩? 我试过这个: public static byte[] compress(String string) throws IOException {
我们这里的问题是表明 在测试中使用 Kleene 代数。 在 b 的值由 p 保留的情况下,我们有交换条件 bp = pb;两个程序之间的等价性简化为等式 在 b 的值不被 p 保留的情况下,我们有交
我有一个与我的网络相关的非常奇怪的问题,我在具有多个接口(interface)的 VirtualBox 上安装了 RDO Grizzly OpenStack。 虚拟盒子: eth0 - managem
我正在尝试使用 Passport.js授权谷歌OAuth2在 Node.js .我整个星期都在尝试让它工作,但不知道为什么它不工作,所以现在我求助于 stack 寻求一些潜在的帮助。我已经尝试了所有在
我是一名优秀的程序员,十分优秀!