4

我可以使用 GraphicsMagick 下载给定 URL 的图像,但是当 URL 以 https 开头时,我收到以下错误(对于https://example.com/image.png):

Unable to open file (//example.com/image.png) [No such file or directory].

我正在使用gmnode.js 的驱动程序,代码如下:

gm = require('gm');
gm(url).write(name);

但也曾gm直接从命令行尝试过同样的问题。

如前所述,它适用于 http URL,我可以让它适用于 https 吗?

4

2 回答 2

4

GraphicsMagick 使用 libxml2 的 HTTP 支持,目前不支持 HTTPS。尝试使用诸如“wget”或“curl”(使用 OpenSSL 支持 HTTPS)之类的外部程序来检索文件。然后您可以将返回的文件传递给 GraphicsMagick。

于 2013-01-22T03:10:40.330 回答
3

正如 Bob 所说,HTTPS 仍然不受支持,但是:

使用 https 模块,您可以创建一个缓冲区并将其直接输入到 GraphicsMagick。

https.get('https://www.eff.org/files/https-everywhere2.jpg', function(response) {

    gm(response, 'image.jpg')
        .write('test.jpg', function(err) {
            if (err) return handle(err);
            console.log('Created an image from a Buffer!');
        });
});
于 2015-05-24T02:18:38.350 回答