栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从客户端浏览器直接上传Amazon S3文件-私钥披露

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从客户端浏览器直接上传Amazon S3文件-私钥披露

我认为您想要的是使用POST的基于浏览器的上传。

基本上,您确实需要服务器端代码,但是它所做的只是生成签名的策略。一旦客户端代码具有签名策略,就可以使用POST直接将其上传到S3,而数据不会通过您的服务器。

签名的策略将以如下形式进入您的html:

<html>  <head>    ...    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />    ...  </head>  <body>  ...  <form action="http://johnsmith.s3.amazonaws.com/" method="post" enctype="multipart/form-data">    Key to upload: <input type="input" name="key" value="user/eric/" /><br />    <input type="hidden" name="acl" value="public-read" />    <input type="hidden" name="success_action_redirect" value="http://johnsmith.s3.amazonaws.com/successful_upload.html" />    Content-Type: <input type="input" name="Content-Type" value="image/jpeg" /><br />    <input type="hidden" name="x-amz-meta-uuid" value="14365123651274" />    Tags for File: <input type="input" name="x-amz-meta-tag" value="" /><br />    <input type="hidden" name="AWSAccessKeyId" value="AKIAIOSFODNN7EXAMPLE" />    <input type="hidden" name="Policy" value="POLICY" />    <input type="hidden" name="Signature" value="SIGNATURE" />    File: <input type="file" name="file" /> <br />    <!-- The elements after this will be ignored -->    <input type="submit" name="submit" value="Upload to Amazon S3" />  </form>  ...</html>

请注意,FORM操作将文件 直接 发送 到S3- 而不是通过服务器。

每当您的一个用户要上传文件时,您都需要在服务器上创建

POLICY
SIGNATURE
。您将页面返回到用户的浏览器。然后,用户无需通过服务器即可直接将文件上传到S3。

在签署策略时,通常会使策略在几分钟后过期。这将迫使您的用户在上传之前先与您的服务器对话。这使您可以根据需要监视和限制上传。

进出服务器的唯一数据是签名URL。您的秘密密钥在服务器上保持秘密。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426152.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号