【发布时间】:2018-05-18 20:27:31
【问题描述】:
我一直在尝试从 Amazon S3 下载以特殊字符结尾的文件。
由于 Base64 编码,文件名以“=”结尾。现在我正在尝试下载此文件,但收到错误消息,
指定的键不存在。 (服务:Amazon S3;状态代码:404;错误代码:NoSuchKey;
我尝试了对字符串进行 URL 编码。所以现在“=”变成了“%3D”,我仍然收到同样的错误。 但是,如果我从文件名中删除“=”,我就可以毫无问题地下载文件。但这是一个通用文件,也可以从 iOS 访问。
注意:即使文件名中包含“=”,iOS Amazon SDK 也能正常工作。 该问题仅在 Android SDK 中存在。
【问题讨论】:
-
请编辑您的帖子。如果它是关于文件名的,那么在任何地方都使用文件名。从主题开始。
-
我在文件名中使用“:”时遇到了同样的问题,请查看定义键名的最佳实践。
-
你能贴出你用过的代码吗?我使用 AWS Java SDK(没有 android)进行检查,它对我来说也很好用
=符号 -
@TarunLalwani 是的。我可以发布它。不过,这很简单。就像我在问题中提到的那样,这是我仅使用 Android SDK 面临的问题。它甚至适用于 iOS SDK。
-
如果你是把文件放在那里的人,你可能会考虑使用不同的编码,正如这个问题所建议的那样:stackoverflow.com/questions/4395706/…