MP3-файл, загруженный на S3, не воспроизводится - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть мини-программа WeChat, которая загружает файлы MP3, созданные из собственного WeChat RecorderManager .

wx.uploadFile({
  url: `${config.serverBaseUrl}/audio_reviews`,
  filePath: this.data.audioFile,  
  name: 'file',
  formData: {
    user_id: currentUser.id,
    movie_id: movieId,
  },
  header: {
    'content-type': 'multipart/form-data'
  },
  success(res) {
    // success handler
  }
})

Мой сервер Node.js использует koa-body для разрешения multipart / form-datauploads.

const body = require('koa-body');
app.use(body({
  multipart: true,
  formidable: {
    keepExtensions: true,
  }
}));

И конечная точка загрузки аудиофайла загружает файл на AWS S3.

createAudio: async (ctx, next) => {
  const pg = new Client(config.pgConfig);
  await pg.connect();
  const body = ctx.request.body;
  const file = ctx.request.files.file;

  const s3 = new AWS.S3();

  const params = {
    Bucket: 'myS3Bucket',
    Body: fs.createReadStream(file.path),
    Key: file.path,
    ContentType: 'audio/mpeg',
  };

  s3.upload(params, (err, data) => {
    if (err) {
      console.error(err);
    };

    if (data) {
      // success handler
    };
  });
}

Файл был загружен на S3, но при загрузке файла не былозвук.Я могу подтвердить, что запись воспроизводилась правильно, прежде чем она была загружена на сервер.Что я сделал не так?

...