0

我需要从 AWS-S3 下载一个 xml 文件。

我尝试使用get_contents_to_filename(fname),它有效。

但我需要在不指定的情况下下载文件fname,因为如果我指定fname我下载的文件将保存到fname.

我想用它的名字保存文件。

这是我当前的代码

k = Key(bucket)

k.set_contents_from_filename(fname)

有人可以帮我在不使用密钥的情况下下载和获取文件吗?

提前致谢!

4

1 回答 1

0

我不确定您使用的是哪个库,但如果 k 是您要下载的 AWS 密钥,那么 k.name 可能是密钥名称,因此 k.get_contents_to_filename(k.key) 可能或多或少会做什么你要。

一个问题是键名可能不是合法的文件名,或者它可能有文件路径分隔符。因此,如果键名类似于“../../../../somepath/somename”,则文件将保存在您不期望的位置。因此,将 k.name 复制到一个字符串,然后通过将所有危险字符更改为安全字符来对其进行清理,或者只提取要用于文件名的键名部分。

于 2013-05-18T20:31:10.250 回答