您好,我正在开发一个应用程序,用户可以在其中上传自己的视频(是的,例如 Tiktok)。我选择使用 PUT 路由进行预先签名的直接上传,以最大限度地提高上传速度。
我的问题是如何真正限制用户可以上传视频的文件大小?
我提出的一个解决方案是使用 lambda 来检查上传对象的内容长度。但据我所知,内容长度属性是在客户端的标头中设置的。如果标头中的内容长度与上传到 s3 的实际文件大小不匹配怎么办?有人可以通过 PUT 上传来做到这一点吗?
我有一个像这样的函数:
createNewUser async (user) {
const newUser = new User();
newUser.name = user.name;
newUser.password = user.password;
let result = await newUser.save((err, data) => {
if (err) return err;
console.log(data);
return data;
})
console.log(result) // Undefined
}
Run Code Online (Sandbox Code Playgroud)
结果返回未定义,并且它在 console.log(data) 之前运行,这非常奇怪。有什么方法可以获取 newUser.save() 的结果,无论是错误还是成功保存的数据?