将txt上传到Amazon S3

Bir*_*vid 6 javascript amazon-s3 angularjs

我正在使用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> 
Run Code Online (Sandbox Code Playgroud)

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

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

是否有其他方式上传文本(使用其余api)?

Bir*_*vid 0

我找到了解决方案。要上传文本,我必须使用名称为“文件”的内部表单。

<form id="disclaimerform" enctype="multipart/form-data" method="post" target="upload_target" class="inline">
    <input type="hidden" name="key" value="{{keydisclaimer}}">
    <input type="hidden" name="acl" value="public-read">
    <input type="hidden" name="AWSAccessKeyId" value="{{awSAccessKeyId}}">
    <input type="hidden" name="success_action_redirect" value="{{redirection}}">
    <input type="hidden" name="x-amz-meta-filename" value="{{disclaimerfilename}}">
    <input type="hidden" name="x-amz-security-token" value="{{session_token}}">
    <input type="hidden" name="policy" value="{{policy}}">
    <input type="hidden" name="signature" value="{{signature}}">
    <div>
        <label></label>
        <textarea style="opacity:0;" name="file" id="disclaimerinput"/>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)