我需要从AWS-S3下载xml文件。
我尝试使用get_contents_to_filename(fname)
,它有效。
但是我需要在不指定fname
的情况下下载文件,因为如果我指定fname
,我下载的文件会保存到fname
。
我想保存文件的名称。
这是我目前的代码
k = Key(bucket)
k.set_contents_from_filename(fname)
有人可以帮我下载并获取文件而无需使用密钥。
提前致谢!
答案 0 :(得分:0)
我不确定您使用的是哪个库,但如果k是您要下载的AWS密钥,则k.name可能是密钥名称,因此k.get_contents_to_filename(k.key)可能会执行更多操作或者更少你想要的东西。
一个问题是密钥名称可能不是合法文件名,或者它可能有文件路径分隔符。因此,如果密钥名称类似于“../../../../somepath/somename”,则文件将保存在您不期望的位置。因此,将k.name复制到一个字符串,并通过将所有危险字符更改为安全字符来清理它,或者只提取要用作文件名的键名称的一部分。