Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将流上载到Aws S3工作不正常_Javascript_Node.js_Amazon Web Services_Amazon S3 - Fatal编程技术网

Javascript 将流上载到Aws S3工作不正常

Javascript 将流上载到Aws S3工作不正常,javascript,node.js,amazon-web-services,amazon-s3,Javascript,Node.js,Amazon Web Services,Amazon S3,我正在尝试将流上载到AWS s3。现在,我的文件管理器可以在服务器上上传对象流,而无需任何负载或膨胀。但是,当谈到AWS s3时,它会返回成功的响应,甚至AWS SDK也不会报告任何有关错误配置的信息,它也会返回成功的上载,所以我的文件管理器很好,但是。问题是,当我在AWS控制台上查看时,我只看到给定文件的路径,而不是文件本身。为了更好地理解,请查看以下代码和图像 要上载的流(文件) 文件管理器AWS S3代码 AWS S3响应 AWS S3控制台屏幕截图 ReadStream { _re

我正在尝试将流上载到AWS s3。现在,我的文件管理器可以在服务器上上传对象流,而无需任何负载或膨胀。但是,当谈到AWS s3时,它会返回成功的响应,甚至AWS SDK也不会报告任何有关错误配置的信息,它也会返回成功的上载,所以我的文件管理器很好,但是。问题是,当我在AWS控制台上查看时,我只看到给定文件的路径,而不是文件本身。为了更好地理解,请查看以下代码和图像

要上载的流(文件) 文件管理器AWS S3代码 AWS S3响应 AWS S3控制台屏幕截图

ReadStream {
  _readableState: ReadableState {
    objectMode: false,
    highWaterMark: 65536,
    buffer: BufferList { head: null, tail: null, length: 0 },
    length: 0,
    pipes: null,
    pipesCount: 0,
    flowing: null,
    ended: false,
    endEmitted: false,
    reading: false,
    sync: true,
    needReadable: false,
    emittedReadable: false,
    readableListening: false,
    resumeScheduled: false,
    emitClose: false,
    autoDestroy: false,
    destroyed: false,
    defaultEncoding: 'utf8',
    awaitDrain: 0,
    readingMore: false,
    decoder: null,
    encoding: null,
    [Symbol(kPaused)]: null
  },
  readable: true,
  _events: [Object: null prototype] {
    end: [ [Function], [Function: remove] ],
    error: [Function],
    close: [Function: remove]
  },
  _eventsCount: 3,
  _maxListeners: undefined,
  path: '/tmp/capacitor-7957c2e3611868508c7ac8ec64c1a7c2.tmp',
  fd: null,
  flags: 'r',
  mode: 438,
  start: undefined,
  end: Infinity,
  autoClose: true,
  pos: undefined,
  bytesRead: 0,
  closed: false,
  name: undefined,
  _writeStream: WriteStream {
    _writableState: WritableState {
      objectMode: false,
      highWaterMark: 16384,
      finalCalled: true,
      needDrain: false,
      ending: true,
      ended: true,
      finished: true,
      destroyed: false,
      decodeStrings: true,
      defaultEncoding: 'utf8',
      length: 0,
      writing: false,
      corked: 0,
      sync: false,
      bufferProcessing: false,
      onwrite: [Function: bound onwrite],
      writecb: null,
      writelen: 0,
      afterWriteTickInfo: null,
      bufferedRequest: null,
      lastBufferedRequest: null,
      pendingcb: 0,
      prefinished: true,
      errorEmitted: false,
      emitClose: false,
      autoDestroy: false,
      bufferedRequestCount: 0,
      corkedRequestsFree: [Object]
    },
    writable: false,
    _events: [Object: null prototype] { error: [Function] },
    _eventsCount: 1,
    _maxListeners: undefined,
    path: '/tmp/capacitor-7957c2e3611868508c7ac8ec64c1a7c2.tmp',
    fd: 30,
    flags: 'w',
    mode: 438,
    start: undefined,
    autoClose: false,
    pos: undefined,
    bytesWritten: 46355,
    closed: false,
    _readStreams: Set { [Circular] },
    error: null,
    _cleanupSync: [Function],
    [Symbol(kCapture)]: false,
    [Symbol(kIsPerformingIO)]: false
  },
  error: null,
  [Symbol(kCapture)]: false,
  [Symbol(kIsPerformingIO)]: false
}
if (this.configuration.Aws && this.configuration.Aws.s3 && this.configuration.Aws.s3.accessKey && this.configuration.Aws.s3.secretKey) {
          // Local variable.
          let _Aws, _StreamUpload

          // Upload file to s3
          _Aws = new Aws.S3({
            'accessKeyId': this.configuration.Aws.s3.accessKey,
            'secretAccessKey': this.configuration.Aws.s3.secretKey
          })

          /*
           * Only successful upload
           * reply to client else report
           * failure.
           */
          if (!_.isEmpty(_Aws) && !(_Aws instanceof Error)) {
            console.log('erw---rer>>', file)
            /*
             * Steam upload to aws.
             * upload file to aws.
             */
            _StreamUpload = await new Promise((__resolve, __reject) =>
            // Upload file stream to aws s3
              _Aws.upload({
                'Bucket': this.configuration.Aws.s3.bucketName,
                'Key': path,
                'Body': file
              }, (error, __data) => error instanceof Error ? __reject(error) : __resolve(__data)))

            /*
             * Only return _StreamUpload if
             * uploading didnt contain any error.
             */
            if (_StreamUpload && !(_StreamUpload instanceof Error)) {
              // Return upload.
              return { 'storageType': 's3', 'path': _StreamUpload.Location }
            }

            // Report failure.
            return _StreamUpload
          }

          // Report failure.
          return _.isEmpty(_Aws) ? new Error('UPLOAD_FAILED(AWS)') : _Aws
        }
{
  ETag: '"1ea966ff33714024a163d51e06b9bad8"',
  Location: 'https://truckpe.s3.amazonaws.com//ck7ef9esk000k0758t9r3mngq/1585455100505/',
  key: '/ck7ef9esk000k0758t9r3mngq/1585455100505/',
  Key: '/ck7ef9esk000k0758t9r3mngq/1585455100505/',
  Bucket: 'truckpe'
}