【问题标题】:AWS JS S3: What is the type of 'stream' in ManagedUpload?AWS JS S3:ManagedUpload 中的“流”类型是什么?
【发布时间】:2023-03-22 08:15:02
【问题描述】:

看着 http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3/ManagedUpload.html#constructor-property

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

Body 应该是stream。如果我想在浏览器中使用 ManagedUpload,如何从本地文件创建 stream

streamuploadPart 中的 streamObject 不同吗

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

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

【问题讨论】:

    标签: javascript amazon-web-services amazon-s3


    【解决方案1】:

    是的。他们的文件是可怕的。他们没有很好的例子。您可以尝试 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);
    

    【讨论】:

      猜你喜欢
      • 2021-06-17
      • 2020-01-16
      • 1970-01-01
      • 1970-01-01
      • 2022-10-21
      • 2020-08-14
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      相关资源
      最近更新 更多