使用POST的基于Amazon AWS S3浏览器的上传-

使用POST的基于Amazon AWS S3浏览器的上传-,第1张

使用POST的基于Amazon AWS S3浏览器的上传-

找到了解决方案:必须明确配置s3客户端以使用Amazon的新签名v4。发生错误是因为它默认为旧版本,从而导致不匹配。一点点脸药-
当时还不是用boto3文档编写的,尽管亚马逊的人说应该很快。

该方法得到了简化,因为它现在可以精确返回所需的字段

def s3_upload_creds(name):    BUCKET = 'mybucket'    REGION = 'us-west-1'    s3 = boto3.client('s3', region_name=REGION, config=Config(signature_version='s3v4'))    key = '${filename}'    return s3.generate_presigned_post(        Bucket = BUCKET,        Key = key    )

这意味着可以轻松生成表格:

<html>  <head>    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  </head>  <body>    {{ creds }}      <form action="https://mybucket.s3.amazonaws.com" method="post" enctype="multipart/form-data">        {% for key, value in creds.fields.items() %}          <input type="hidden" name="{{ key }}" value="{{ value }}" />        {% endfor %}      File:      <input type="file"   name="file" /> <br />    <input type="submit" name="submit" value="Upload to Amazon S3" />  </form></html>

干杯



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5663159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存