小编Pra*_*ngh的帖子

尖锐错误:输入缓冲区包含不支持的图像格式

我想对从 AWS S3 获取的图像创建图像操作,并希望对其执行操作操作。我正在使用流来解决加载大文件的问题。

import AWS from 'aws-sdk'
import sharp from 'sharp'

const s3 = new AWS.S3()
const transformer = (w, res, next) =>
    sharp()
        .resize(w)
        .on('data', (data) => {
            console.log(data)
            res.write(data, 'binary')
        })
        .on('error', (err) => next(err))
        .on('end', () => {
            console.log('finished')
            res.status(200).end()
        })

const readStream = s3
    .getObject({
        Bucket: process.env.UPLOAD_BUCKET_NAME,
        Key: 'test.jpg'
        // Key: `${req.uid.uid}/${req.param('img')}`
    })
    .createReadStream()

const getImage = (w, res, next) => {
    readStream.pipe(transformer(w, res, next))
    readStream.on('error', (err) => next(err))
}

export default getImage
Run Code Online (Sandbox Code Playgroud)

我在路线上调用 getImage …

amazon-s3 node.js sharp

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

amazon-s3 ×1

node.js ×1

sharp ×1