我尝试在上传至Google云存储之前调整大小或压缩图像。上传工作正常,但是调整大小似乎不起作用。
以下是我的代码:
以下是我的代码:
const uploadImage = async (file) => new Promise((resolve, reject) => {
let { originalname, buffer } = file
sharp(buffer)
.resize(1800, 948)
.toFormat("jpeg")
.jpeg({ quality: 80 })
.toBuffer()
const blob = bucket.file(originalname.replace(/ /g, "_"))
const blobStream = blob.createWriteStream({
resumable: false
})
blobStream.on('finish', () => {
const publicUrl = format(
`https://storage.googleapis.com/${bucket.name}/${blob.name}`
)
resolve(publicUrl)
}).on('error', () => {
reject(`Unable to upload image, something went wrong`)
})
.end(buffer)
})
toBuffer()
seems to be returning a promise. Try adding async in the promisenew Promise(async (resolve, reject)
and await in herelet { originalname, buffer } = await file...
- Dharmaraj