gpt4 book ai didi

javascript - 将 txt 上传到 Amazon S3

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:24 24 4
gpt4 key购买 nike

我正在使用 s3 sdk 上传一个字符串(这将被更改为一个 txt 文件)。使用sdk是可以的。但由于 sdk 仅适用于新浏览器(例如:ie10+)我需要用另一种方式上传我的文件(对于旧浏览器)

对于图像文件,我使用输入(类型文件)和上传表单

<form id="urlform" enctype="multipart/form-data" method="post" target="upload_target" class="inline">
<input type="hidden" name="key" value="{{$parent.keyurl}}">
<input type="hidden" name="acl" value="public-read">
<input type="hidden" name="AWSAccessKeyId" value="{{$parent.awSAccessKeyIdUrl}}">
<input type="hidden" name="success_action_redirect" value="{{$parent.redirectionUrl}}">
<input type="hidden" name="x-amz-meta-filename" value="{{$parent.filenameurl}}">
<input type="hidden" name="policy" value="{{$parent.policyurl}}">
<input type="hidden" name="signature" value="{{$parent.signatureurl}}">
<input type="hidden" name="x-amz-security-token" value="{{$parent.urlSessionToken}}">
<div>
<label>
</label>
<input type="file" name="file" id="urlfileinput">
</div>
</form>

此解决方案仅适用于输入类型文件。

出于安全原因,我无法使用 jquery 更改输入的值。

是否有另一种上传文本的方法(也许使用 rest api)?

最佳答案

我很好奇您为什么要使用 URL 表单将此提交给亚马逊...这是非常不安全的,因为您要将您的 AWS 访问 key 分发给每个人。首先,您需要研究使用 Amazon SDK for Javascript ,它应该很容易与 Angular 作为依赖项一起工作。

接下来,您需要考虑执行 CORS on your S3 Bucket (cross domain resource sharing)这样您实际上就可以从任何地方在 S3 上“上传”某些内容而无需身份验证(请注意这一点,因为 每个人 都可以访问它并可以上传任何内容,如果您不配置它正确,可以访问其他东西,如删除)。

最后,您只需使用 SDK 的 AWS.S3().putObject()函数将您需要的任何内容上传到您的公共(public) S3 存储桶。

关于javascript - 将 txt 上传到 Amazon S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23287847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com