首页 > 解决方案 > 在 Node.js 中,为什么我的 PNG 文件无法正确读取?

问题描述

我正在尝试使用以下软件包:

https://github.com/photopea/UPNG.js/

带有以下图像:

在此处输入图像描述

我的代码如下:

const fs = require("fs");
const png = require("upng-js");

async function run() {
    try {
        const data = png.decode(await fs.readFile("./qr.png"));
    } catch (err) {
        console.error(err);
    }
}

run();

这给了我以下错误消息:

The input is not a PNG file!

为什么我的 PNG 文件没有被正确读取?

标签: node.jspng

解决方案


您可以使用 readFileSync 代替 readFile 或承诺 readFile 方法

const fs = require("fs");
const png = require("upng-js");
const Promise = require('bluebird');

async function run() {
    try {
        const data = png.decode(await Promise.promisify(fs.readFile)("./qr.png"));
    } catch (err) {
        console.error(err);
    }
}

run();

推荐阅读