javascript - w 和 h 必须是数字

标签 javascript node.js azure azure-functions

我很难重新创建this例子。我得到以下输出:

2019-08-19T17:19:24.531 [Information] Executing 'Functions.PdfToTiffConverter' (Reason='EventGrid trigger fired at 2019-08-19T17:19:24.4859961+00:00', Id=161802cf-f5b9-4555-8e36-a9ca7e0daf91) 2019-08-19T17:20:26.112 [Information] Error: w and h must be numbers at Jimp.throwError (D:\home\site\wwwroot\node_modules@jimp\utils\dist\index.js:26:13) at Jimp.resize (D:\home\site\wwwroot\node_modules@jimp\plugin-resize\dist\index.js:38:36) at Jimp.read.then (D:\home\site\wwwroot\PdfToTiffConverter\index.js:14:19)

这是我的function.json:

{
  "disabled": false,
  "bindings": [
    {
      "type": "eventGridTrigger",
      "name": "myEvent",
      "direction": "in"
    },
    {
      "name": "myBlob",
      "type": "blob",
      "direction": "in",
      "path": "{data.url}",
      "connection": "AZURE_STORAGE_CONNECTION_STRING",
      "datatype": "binary"
    }
  ]
}

这是我正在使用的代码:

const stream = require('stream');
const Jimp = require('jimp');

const storage = require('azure-storage');
const blobService = storage.createBlobService();

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

  const widthInPixels = process.env.THUMBNAIL_WIDTH;
  const blobName = myEvent.subject.split('/')[6];

    Jimp.read(myBlob).then((thumbnail) => {

        thumbnail.resize(widthInPixels, Jimp.AUTO);

        thumbnail.getBuffer(Jimp.MIME_PNG, (err, buffer) => {

            const readStream = stream.PassThrough();
            readStream.end(buffer);

            blobService.createBlockBlobFromStream('thumbnails', blobName, readStream, buffer.length, (err) => {
                context.done();
            });
        });

    }).catch(context.log);
};

我做错了什么?为什么我会遇到此异常?

最佳答案

就像@Pointy指出的那样,process.env.THUMBNAIL_WIDTH的值是一个字符串,而不是数字。

enter image description here

process.env.THUMBNAIL_WIDTH

尝试使用const widthInPixels = Number(process.env.THUMBNAIL_WIDTH);

关于javascript - w 和 h 必须是数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57561531/

相关文章:

javascript - 由于窗口宽度,需要根据缩放比例将元素与其兄弟元素垂直对齐

javascript - 使用 Jquery 控制动态内容

php - 是否可以在不使用 PHP 等服务器端的情况下制作单页网页?

node.js - html 文件中的动态内容, Node

javascript - 在 AWS Lambda 中获取正文请求

node.js - 如何使用 Cassandra 一致性定义类型?

azure - Office 365 MFA 使用发送到电子邮件的代码,而不是在 Microsoft Authenticator 上获取请求

azure - 如何使 Azure WebRole 作为 NTP 服务器?

php - 通过 azure graph api 更新时权限不足,无法完成操作

javascript - 触摸屏的 CSS 下拉菜单。使用 active 作为悬停