当我使用downloadFile获取图像,但bytesWritten为0时,react-native-fs

时间:2019-06-12 03:14:37

标签: react-native react-native-fs

我尝试通过使用s3服务器的react-native-fs获取图像。我成功地从s3服务器获取了图像。

但是,在客户端,得到字节0

server.js

router.get('/loadImage', (req, res) => {
  const {fileId, connectid, imageId} = req.query;
  const key = `LiveRoom/${connectid}/${fileId}/${imageId}`
  const param = {Bucket: 'paperly', Key: key}
  const stream = s3.getObject(param).createReadStream();

  //const file = fs.createWriteStream('test.png');

  stream.on('error', err => {
    console.log(err)
  })

  //stream.pipe(file);

  //console.log(stream._readableState.pipes);
  stream.pipe(res);

  // i already checked getting image by s3. success fully create image
  // s3.getObject(param, (err, data) => {
  //     fs.writeFile('test.png', data.Body, 'binary', err => {
  //       console.log(err);
  //     })
  // })
})

loadImage.js

RNFS.downloadFile({
    fromUrl: configuration.serverAddress+'/loadImage?fileId='+fileId+'&connectid='+connectid+'&imageId='+imageId,
    toFile: cacheFilePath,
    background: true,                  
    progress: res => {
        console.log('download image progress', res)
    }
}).promise.then(async res => {
    //it is console
    //{
    //   bytesWritten: 0
    //   jobId: 1
    //   statusCode: 200
    //}

    console.log('====================================');
    console.log(res);                     
    console.log('====================================');
})

请让我知道原因和解决方法。

0 个答案:

没有答案