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 ?!?!
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!
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.
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.
Obrigado Evelym, vou ver oq consigo fazer !!!
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
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
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!