如何从s3.upload()获取请求对象

时间:2020-04-08 13:13:32

标签: javascript node.js amazon-web-services amazon-s3 aws-sdk

我的函数已成功上传对象。但是问题出在响应上。

const params = {
  Bucket: "AWS_BUCKET", 
  Key: "filename"
};
const ptObj =  s3.putObject(params);
getObj.
  on('success', function(response: any) {
    resolve(response.httpResponse.stream);    
  }).
  on('error', function(error: any) {
    reject(error);
  }).
  on('complete', function(response: any) {
    console.log("complete");
  }).
  send();

在这里,我收到IncomingMessage作为结果(我想要的输出)。现在,我必须上传流。因此,我必须使用s3.upload()。但是对于上传,我得到的错误为Argument of type '"success"' is not assignable to parameter of type '"httpUploadProgress"'.

const uploadStream =  s3.upload(params);
uploadStream.
  on('success', function(response: any) {
    resolve(response.httpResponse.stream);    
  }).
  on('error', function(error: any) {
    reject(error);
  }).
  on('complete', function(response: any) {
    console.log("complete");
  }).
  send();

我尝试了httpUploadProgress,但这没有提供所需的输出。如何在此处获取IncomingMessage对象作为输出

    s3.upload(params)
    .on('httpUploadProgress', function(evt: any) {
    console.log("Uploaded :: ", evt);
    }).send(function(err: any, data: any) {
    console.log(err);
    console.log("File uploaded successfully.");
    console.log(data);
    });

我将这些链接用作参考。

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Request.html

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3/ManagedUpload.html

0 个答案:

没有答案
相关问题