Ferramentas para capturar e converter a Web

Manipulador com Node.jsAPI do Node.js

Descrição

Está tendo problemas para depurar seu manipulador? Tente o Ferramenta de teste de manipulador de retorno de chamada.

O manipulador descrito aqui processa retornos de chamada do serviço da Web de captura de tela GrabzIt. A URL desse manipulador é passada para GrabzIt no diretório callBackUrl parâmetro do save método. No entanto, essa técnica funcionará apenas se o manipulador estiver acessível via Internet.

Os seguintes parâmetros são passados ​​para o manipulador como parâmetros GET.

  • id - o identificador exclusivo da captura de tela, usado pelo get_result método
  • filename - o nome do arquivo da captura de tela, criado automaticamente combinando o identificador exclusivo da captura de tela com a extensão do arquivo
  • message - qualquer mensagem devido a um erro causado durante o processamento da captura de tela
  • customId - qualquer identificação personalizada que foi passado para o serviço da web GrabzIt por meio do save método
  • formato - o formato da captura de tela, por exemplo, "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "jpg", "json", "pdf", "png", " tiff "," webp "ou" xlsx "
  • targeterror - se um 1 for retornado, a captura conterá um erro genérico, devido a um problema causado pelo destino da captura

Se você deseja bloquear todo o acesso ao manipulador, exceto o GrabzIt, use este técnica de segurança.

Exemplo

Lembre-se de que este retorno de chamada não funcionará se o seu aplicativo estiver localizado no host local.

Este exemplo mostra como um manipulador GrabzIt Node.js pode ser implementado usando express. Isso captura cinco parâmetros passados ​​para ele a partir do serviço GrabzIt, incluindo o ID exclusivo da captura de tela que é passada para o get_result método.

Esse método retorna a captura de tela, que é saved no diretório da captura de tela.

var express = require('express');
var url = require('url');
var file = require('fs');
var grabzit = require('grabzit');

var app = express();

app.get('/handler', function (req, res) {
    var queryData = url.parse(req.url, true).query;

    var message = queryData.message;
    var customid = queryData.customid;
    var id = queryData.id;
    var filename = queryData.filename;
    var format = queryData.format;
    var targeterror = queryData.targeterror;

    var client = new grabzit('Sign in to view your Application Key', 'Sign in to view your Application Secret');

    client.get_result(id, function(err, result){
        if (err != null) {            
            return;
        }

        file.writeFile(path.join('public', path.join('results', filename)), result, 'binary');
    });

    res.end();
});