AWS S3 HTTP POST - 重定向到带有 URL 参数的页面

莫纳多博伊

我有将图像上传到 S3 的表单,它运行良好。但是,对于success_action_redirect密钥,我想要一个使用表单中的模板变量的 URL,即

{"success_action_redirect": "localhost/account/{{account.id}}"},

我似乎无法在我的帖子政策中使用它。有办法解决吗?

编辑:

这是表格中的相关行:

<input type="hidden" name="success_action_redirect" value="http://localhost:8000/account/{{account.id}}">

我假设它不起作用,因为 {{account.id}} 返回一个数字,所以当 S3 尝试将它与签名进行比较时,它正在http://localhost:8000/accounts/2http://localhost:8000/accounts/{{account.id}}".

它返回一个错误:

Invalid according to Policy: Policy Condition failed: ["eq", "$success_action_redirect", "http://localhost:8000/account/{{account.id}}"]

此外,我尝试使用{% templatetag %}来停止{{account.id}}成为一个变量,虽然它通过了 S3,但它(显然)没有重定向到正确的页面。

科迪·考兰

在您的策略中,您必须使用starts-with并且$eq不允许您的成功操作重定向 URL 匹配前缀。

因此,您的政策可能如下所示:

["starts-with", "$success_action_redirect", "localhost/account/"],

请参阅政策文档:

https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-HTTPPOSTConstructPolicy.html#sigv4-ConditionMatching

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS Cloudfront重定向到S3存储桶

龙卷风重定向到带有参数的页面

htaccess将首页以外的所有页面的https重定向到http,将首页的https重定向到另一个url

使用HTTP POST的AWS S3浏览器上传给出无效签名

将所有AWS S3 http请求重定向到AngularJS HTML5Mode的index.html

带有其他查询参数的AWS S3预签名URL

如何重定向到带有查询参数的URL?

Amazon S3 URL重定向到root /

带有元数据的AWS S3预签名URL

如何为带有std :: fstream中gz压缩文件的预签名url的AWS S3 HTTP上传设置内容长度?

ASP.NET-单击图像应重定向到带有图像URL的特定页面

如何根据PHP中的URL参数重定向到页面?

URL http:// localhost:8000 / admin /重定向到错误的页面

302带有参数的重定向URL

Apache htaccess重定向到https的所有URL,除了某些URL带有各种参数

带有参数的Ht访问重定向URL

什么类型的HTTP重定向将“页面= 1”重定向到非“页面= 1” URL

如何将带有参数的URL重定向到htaccess中的干净URL?

重定向到Laravel中带有参数的页面

从http到https的特定页面重定向,但有例外

编辑AWS S3存储桶重定向规则,以重定向到相同URL的param(url)

带有 url 且没有正文参数的 Angular http post 方法请求

如何重定向到带有 <a> 标签的 PHP 页面?另外,如何通过 URL 传递 ID 号?

410 带有动态 GET 参数的重定向 url

nginx 重定向 - 带有参数的 url

在没有 S3 的 aws 路由 53 中将根域重定向到 www

用于上传文件的 AWS S3 generate_presigned_url 与 generate_presigned_post

带有查询参数的 url 重定向到 / 角度

使用 aws s3 对象作为使用 python-requests 的 HTTP POST 的输入