проверить разрешение изображения в хапии - PullRequest
0 голосов
/ 07 декабря 2018

Я использую hapi v17.1. Я не опытный программист.Мне нужно получить разрешение изображения в hapi js для проверки изображения на стороне сервера.Я пробовал image-size плагин

var sizeOf = require('image-size');
var { promisify } = require('util');
var url = require('url');
var https = require('http');


................
// my code 
................


const host = 'http://' + request.info.host + '/';
imageName = host + path;

try {
    var options = url.parse(imageName);

    https.get(options, function (response) {
        var chunks = [];
        response.on('data', function (chunk) {
            chunks.push(chunk);
        }).on('end', function () {
            var buffer = Buffer.concat(chunks);

            console.log("image height and width = ",sizeOf(buffer));

        });
    });

} catch (err) {
    console.log('error occured = ', err);
}

плагин размера изображения

для http, он работает нормально, но я не могу сделать это для https

когда я пытался для https url и показывал ошибку

error occured =  TypeError: https.get is not a function
    at handler (/home/jeslin/projects/hapi/gg-admin/app/controllers/web/advertisement.js:178:31)
    at <anonymous>

как я могу реализовать это для https image url

1 Ответ

0 голосов
/ 07 декабря 2018

Для запроса https вам потребуется модуль https require('https'), образец фрагмента для обработки запроса http & https для вашей справки.

var sizeOf = require('image-size');
var https = require('https');
var http = require('http');
var url = require('url');

const host = 'http://picsum.photos/200/300';

const request = (host.indexOf('https') > -1) ? https : http;

try {
    request.get(host, function (response) {
        var chunks = [];
        response.on('data', function (chunk) {
            chunks.push(chunk);
        }).on('end', function () {
            var buffer = Buffer.concat(chunks);

            console.log("image height and width = ",sizeOf(buffer));

        });
    });
} catch (err) {
    console.log('error occured = ', err);
};
...