Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Upload

Seria realmente interessante que o curso tivesse uma evolução para a troca do campo URL campo de upload da foto, seja gravando no próprio banco ou salvando em alguma pasta e aí sim gravando o path no Mongo.

Eu mesmo preciso disso e não estou encontrando documentação legal, imagino que deva ser fácil mas não encontro.

4 respostas
solução!

Oi Eric! Você precisa de um modulo no Node para poder fazer isso. Eu uso o Multer.

Segue um exemplo diretamente do meu github!

https://github.com/flaviohenriquealmeida/express-file-uploading

Segue a documentação oficial:

https://github.com/expressjs/multer

Abração meu aluno!

Obrigado professor, e para usar no formulário com angular ?

a chamada do form seria assim?

<form novalidate name="formulario" class="row" ng-submit="submeter()"
encType="multipart/form-data">

No Angular 1.X a coisa muda um pouco, não é tão trivial. Se você fizer assim, precisará deixar que o evento padrão do formulário seja disparado para que o upload comece. Mas se fizer isso e não cancelar o evento padrão de submissão do Angular, sua página vai recarregar, o que não se faz em Single Page Application.

Agora que você entendeu o problema, a parte do código do servidor você pode se basear no meu exemplo, mas já o do Angular, bem, você teria que escrever muito código para fazer o upload.

A boa notícia é que há diretivas que se encarregarão de fazer o upload para você.

Uma delas é essa:

https://github.com/danialfarid/ng-file-upload

Então, primeiro sugiro dominar a parte do backend e fazer um upload padrão, fora do Angular. Depois que seu backend estiver funcionando, você pode tentar os dezenas de diretivas (plugins) do Angular que te auxiliarão no processo de envio do arquivo.

É que toda SPA (Single Page Application) é mais complexa do que aplicações tradicionais, porque tudo fica na mão do dev e precisa ser feito via JavaScript. Os frameworks ajudam bastante.

Então acredito que vou esquecer o angular um pouco para o front, já que meu foco é a API funcionando legal, depois avanço com angular.

Obrigado mais uma vez.

Abraços