如何解决在 beforeSaveFile 中解析服务器锐包
我想在 beforeSaveFile 触发器中使用这个包:sharp 但它不起作用。 beforeSaveFile 不会改变任何东西。
我的代码:
Parse.Cloud.define('test',async (req) => {
try {
const Resim = Parse.Object.extend('Resim')
const obj = new Resim()
const { photo } = req.params
let uploadedFile = await new Parse.File(
'galleryFile',{ base64: photo },'image/png'
)
obj.set('photo',uploadedFile)
const data = await obj.save()
return data
} catch (error) {
throw error
}
})
Parse.Cloud.beforeSaveFile(async (req) => {
const image = await sharp(req.file).resize(256)
return image
})
感谢您的帮助。
解决方法
我想通了。这是解决方案:
Parse.Cloud.beforeSaveFile(async (req) => {
const file = req.file
const fileData = await file.getData()
const str = fileData.toString('base64')
const imageBuffer = Buffer.from(str,'base64')
const newImageBuffer = await sharp(imageBuffer)
.resize(800,800)
.webp({ quality: 70,lossless: true })
.toBuffer()
return new Parse.File(
'image',{ base64: newImageBuffer.toString('base64') },'image/webp'
)
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。