【发布时间】:2019-10-24 19:14:59
【问题描述】:
我一直在尝试解决以下错误 botocore.exceptions.ParamValidationError: invalid length for parameter Key, value: 0, valid range: 1-inf 我能够列出文件,将文件上传到列出我的 S3 存储桶/对象的静态 html 页面。但是如果不点击 ParamValidationError 就无法下载或删除。
我在 EC2、Python2.7 Flask、flask-bootstrap 上使用文本编辑器 (nano)。
我想我在括号中遗漏了一个值,但到目前为止我还没有找到解决方案。任何帮助将不胜感激。
@app.route('/download', methods=['POST'])
def download():
key = request.form['key']
my_bucket = get_bucket()
file_obj = my_bucket.Object(key).get()
File "/home/ec2-user/flask-s3-bucket/app.py", line 41, in download
file_obj = my_bucket.Object(key).get()
ParamValidationError: Parameter validation failed:
Invalid length for parameter Key, value: 0, valid range: 1-inf
【问题讨论】:
-
哪些对象/类型被用作关键变量?看起来您的密钥需要 > 0。
-
看起来你的密钥是一个空字符串
-
感谢您的 cmets 我解决了这个问题 - 我现在知道如何解决它。
-
@mango1 如果您可以添加您的解决方案作为答案,那就太好了。这样其他有相同问题的用户就可以找到解决方案。