Gerar link para download de arquivo

Bom dia,

Tenho 3 documentos que estão no GED e precisaria gerar um link no formulário para baixar estes arquivos. Alguém já fez isto ? acredito que seja pela ID dos mesmos.

Você deseja baixá-los individualmente ou compactar todos em um ZIP e fazer o download?

Eu utilizo assim:

http://[endereco_de_acesso_fluig]:8080/portal/p/1/ecmnavigation?app_ecm_navigation_doc=[numero_do_documento_no_ECM]

Exemplo: http://fluig.vs.unimed.com.br:8080/portal/p/1/ecmnavigation?app_ecm_navigation_doc=6446

@Eudes, bom dia, estou comuma duvida… consigo gerar um link para um formulário para que eu possa editalo dentro de outro formulário?

ou seja através do link criado inserir ele em um botão onclik

Para mim funcionou assim:

http://[servidor]:[porta]/webdesk/webdownload?documentId=[id]&version=[versao]&tenantId=[empresa]

=====================================================================================================

Tentei passar o exemplo de compactação abaixo para AJAX mas está dando erro Ocorreu uma falha no download da pasta "Meus Documentos" em avisos, poderiam me ajudar com este código ?


$.ajax({
        async : false,
        contentType : "application/json",
        type : "POST",
        dataType : "json",
        url: "/ecm/api/rest/ecm/navigation/scheduleDocumentListDownloadJob/1",
        data: ['188','189','190'],

        success: function (data, textStatus, jqXHR) {
            if (data.content == 'OK') {
                FLUIGC.toast({
                    title: 'Sucesso: ',
                    message: 'Os arquivos estão sendo compactados e estarão disponíveis em "Meus Documentos"',
                    type: 'success',
                    timeout: 'slow',
                });
            } else {
                // seu tratamento de erro usando: data.message
            }
        },
        error: function (jqXHR, textStatus, errorThrown) {
            // seu tratamento de erro usando: textStatus
        }
    })

Você pode utilizar em seu formulário a mesma forma utilizada pelo Fluig para baixar os arquivos em lote, da seguinte forma:


// faz requisição à API do ECM
WCMAPI.Create({
    url: "/ecm/api/rest/ecm/navigation/scheduleDocumentListDownloadJob/1",
    data: [30,31,32],
    success: function (data, textStatus, jqXHR) {

        if (data.content == 'OK') {

            FLUIGC.toast({
                title: 'Sucesso: ',
                message: 'Os arquivos estão sendo compactados e estarão disponíveis em "Meus Documentos"',
                type: 'success',
                timeout: 'slow',
            });

        } else {
            // seu tratamento de erro usando: data.message
        }

    },
    error: function (jqXHR, textStatus, errorThrown) {
        // seu tratamento de erro usando: textStatus
    }
});

Basta enviar o array com os IDs dos documentos (no exemplo acima [30,31,32]) que os mesmos serão compactados e disponibilizados para download.

DownloadLote.png

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Obrigado por compartilhar, mas eu consigo fazer esta chamada na ação do botão do formulário ? ou apenas nos eventos?
Estou tentando pelo botão mas da erro de WCMAPI is not defined

O WCMAPI é a api utilizada em eventos. Para chamar essa requisitação no formulário, basta usar o AJAX.

Vinicius obrigado pela explicação, tentei passar para Ajax mas está dando erro, coloquei o código na resposta mais acima, sabe me dizer o que estou fazendo errado ? Existem alguma forma de consultar esta API ? pq não encontrei a mesma.

Para utilizar o objeto no scritp do formulário, basta fazer a chamada utilizando: parent.WCMAPI
Como o formulário do processo roda em um iframe, ele não consegue acessar o que está instanciado fora dele.

Importante salientar que essa URL não está documentada na API pública, portanto existe possibilidade da equipe de produto mudar assinatura ou comportamento da API. Sugestão seria solicitar esse endpoint publicado na API.

Excelente solução! Só tenho uma dúvida, o meu está gerando o arquivo certinho, só que com um nome mais sem pé nem cabeça... Como altero o nome do zip? Outra coisa, não tem como zipar e já fazer download automatico? Estou vendo os usuário baixando e largando os arquivos na pasta, daqui a pouco entope o disco... rsrs