У меня есть мини-программа 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, но при загрузке файла не былозвук.Я могу подтвердить, что запись воспроизводилась правильно, прежде чем она была загружена на сервер.Что я сделал не так?