[英]AWS mp3 file upload is failing intermittently
我面临使用express-fileupload
将 mp3 文件上传到 S3 存储桶的问题。 对于大多数用户来说,它工作正常,但对于某些用户,上传时md5
不匹配,因此上传失败。 我正在使用以下代码上传文件。
export const uploadFileToS3Bucket = async (fileToUpload, fileId, subKey) => {
const fileExtension = fileToUpload.name.split(".");
const s3Bucket = new AWS.S3({
accessKeyId: AppConstants.S3_UPLOAD_ACCESS_ID,
secretAccessKey: AppConstants.S3_UPLOAD_ACCESS_KEY,
region: AppConstants.S3_REGION,
});
const key = `${subKey}/${fileId}.${fileExtension[fileExtension.length - 1]}`;
const params = {
Bucket: BucketName,
Key: key,
Body: fileToUpload.data,
ContentType: fileToUpload.mimetype,
ACL: "public-read",
ContentMD5: fileToUpload.md5,
};
return new Promise((resolve, reject) => {
s3Bucket.upload(params, (err, data) => {
if (err) {
reject(err);
} else {
resolve(data.Location);
}
});
});
};
我们发现一个问题是我们没有在我们部署的 PM2 实例之间保持用户粘性。 因此,如果我们从实例 1 发送请求,则响应有机会被实例 2 接收,从而导致上传问题。 我们启用了用户粘性,这解决了这个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.