Aplicação não funciona apos deploy !

Olá pessoal, estou com um site/aplicação NodeJS onde tenho uma tela de cadastro de produto e nesta tela tem um input type file para anexar a imagem do produto, o form esta com o enctype=“multipart/form-data”. Os dados do produto vão para o mysql e a imagem vai para o AWS S3 e só gravo o link no banco, essa aplicação funciona perfeitamente quando rodo em minha maquina local, mas quando publico na umbler não funciona essa parte do cadastro. E não consigo ver onde esta o problema, no log ele me retorna um erro como se fosse de timeout, la no AWS S3 eu configurei o CORS para aceitar inserção de qualquer site. Não consigo identificar o problema !!! Estou usando o multer-s3 para enviar o arquivo e capturar o link para gravar no banco. Alguem sabe o que poderia ser ?!?! Uma vez que a aplicação funciona offline, nao deveria funcionar ao fazer o deploy na umbler ?!?!

1 curtida

Isso aconteceu comigo também e resolvi manualmente, na verdade o que acontece é que ele não baixa todas as dependências do package.json não sei o porquê, então eu simplesmente fui no gerenciador de arquivos renomeei a minha pasta node_modules e, fiz upload da minha própria máquina, como é muito grande resolvi zipar a pasta, eu sei isso é chato, mas foi a única forma que eu consegui achar uma solução.

espero ter ajudado! :grin:

1 curtida

Oi evelym, obrigado pela atencao. Na vdd eu descobri q o problema nao eh na umbler, fiz o deploy em outro servidor e deu a mesma coisa. O curioso eh que quando testo localmente o codigo funciona. Eh um cadastro de produto onde quero colocar de uma vez so os dados do produto e a foto do item. Por algum motivo apos o deploy nao consigo recuperar o req.body com os dados do formulario. Sou novo no nodejs, mas minha cisma eh q na minha maquina funciona perfeitamente.

Seria o req.body para pegar os dados do produto e o req.file para pegar a imagem dele, mas colocando no ar nao funciona.

1 curtida

Olá George, eu fiz um novo tipo de requisição no meu service, como meus dados eram em object e o FormData não aceita, eu tive que fazer uma JSON.Stringfy dos meus dados e para salvar no banco tive que fazer novamente um JSON.parser e funcionou, no caso era pra funcionar localmente, pra depois subir para o servidor.

No meu caso eu queria pegar os arquivos e colocar no meu contrato.

Meu service.ts

const sender = new FormData();

        Object.keys(data).forEach(key => {

            if (key === 'address')

                sender.append(key, JSON.stringify(data[key]))

            else

                sender.append(key, data[key]);

        });

        if (contract !== null) {

            sender.append('contractFile', contract);

        }

Eu também sou nova na linguagem, mas já programei com MVC .NET.

:wink:

Obrigado Evelym, vou ver oq consigo fazer !!! :wink:

Isso funcionou no meu caso ao tentar colocar o Hexo como dependência.
Eu copiei manualmente a pasta node_modules. Pq ele não baixou as dependências?

Se você enviar apenas o arquivo package.json o painel já identifica todas as suas dependências e as baixa na sua aplicação criando a node_modules. Ou se utilizou o gerenciador de pacote do Yarn deve mandar o arquivo yarn.lock que o mesmo processo será realizado :slight_smile:

Pessoal, isso nao eh problema de dependencias que nao foram instaladas. Eu publiquei em outro site/servidor e ocorre a mesma coisa. O estranho eh q a aplicacao funciona perfeitamente qdo rodo local, mas qdo faço o deploy nao funciona.

@George deveria funcionar :confused:
Pode me passar mais detalhes via mensagem privada que te dou uma atenção com prazer, não deveria acontecer esse erro após deploy!