AWS JS S3:什么是'流'在ManagedUpload中

AWS JS S3: What is the type of 'stream' in ManagedUpload?

本文关键字:ManagedUpload JS S3 什么 AWS      更新时间:2024-06-13

查看http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3/ManagedUpload.html#constructor-属性

var upload = new AWS.S3.ManagedUpload({
  params: {Bucket: 'bucket', Key: 'key', Body: stream}
});

主体假定为stream。如果我想在浏览器中使用ManagedUpload,如何从本地文件创建stream

uploadPartstreamstreamObject不同吗

Body: new Buffer('...') || 'STRING_VALUE' || streamObject,

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#uploadPart-属性

是的。他们的文件太可怕了。他们没有好的例子。您可以尝试FileReader对象和readAsArrayBuffer方法。类似于:

    var reader = new FileReader();
    // Closure to capture the file information.
    reader.onload = (function(file) {
    return function(e) {
        var upload;
        if (e.eventPhase == 2) {
            upload = new AWS.S3.ManagedUpload({
                params: {Bucket: 'annuals-original', Key: 'name', Body: e.currentTarget.result}
            }).send(function(err, data) {
                console.log(err, data);
            });
         };
    })(f);
    // Read in the image file 
    reader.readAsArrayBuffer(f);

您可以将eventHandler附加到输入标记。

<input type="file" id="input" multiple onchange="handleFile(this.files)">

然后将文件传递给处理程序。

inputElement.addEventListener("change", handleFile, false);