Nodejs和Jimp缩略图生成

时间:2018-06-17 10:07:12

标签: node.js azure-storage azure-storage-blobs azure-functions nodejs-stream

我使用azure函数使用jimp生成缩略图。我遇到的挑战是azure容器上的内容类型最终是application / octet-stream而不是image / jpeg。怎么解决这个?

这是代码:

var Jimp = require("jimp");

module.exports = (context, myBlob) => {

    // Read image with Jimp
    Jimp.read(myBlob).then((image) => {

        // Manipulate image
        image
            .resize(200, 200)

            .getBuffer( Jimp.MIME_JPEG, (error, stream) => {

                // Check for errors
                if (error) {
                    context.log(`There was an error processing the image.`);
                    context.done(error);
                }
                else {

                    context.log(`Successfully processed the image`);

                    context.bindingData.properties = {contentType: Jimp.MIME_JPEG}   

                    // Bind the stream to the output binding to create a new blob
                    context.done(null, stream);

                }

            });

    });

};

1 个答案:

答案 0 :(得分:1)

不幸的是,Blob输出绑定目前不支持设置内容类型。请参阅Blob bindings can't set ContentType and other properties以跟踪进度。

目前,您必须直接使用Storage SDK。有关示例,请参阅同一问题中的this comment

如果选择C#,请选中this example