Ir para conteúdo

KBAlbuquerque

Members
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por KBAlbuquerque


  1. Estou tentando salvar o nome da imagem no banco de dados com um FormData;

    porém está dando que a imagem está nula no Servidor Node JS da API.

     

    Uso React Native e Express File Upload e Node JS.

     

    Muito obrigada.

     

    Segue o código:

     

    Constantes:

         

          const [nome, setNome] = useState('');
          const [marca, setMarca] = useState('');
          const [modelo, setModelo] = useState('');
          const [foto, setFoto] = useState('');
          const [fotoNome, setFotoNome] = useState('');
          const [fotoType, setFotoType] = useState('');
          const [usuarioId, setUsuarioId] = useState('');

     

    Código da API:
       

        const nome = req.body.nome;
        const marca = req.body.marca;
        const modelo = req.body.modelo;
        const foto = req.files;
        const usuarioId = req.body.usuario_id;
    
         const file = Date.now().toString() + '_' + foto.myfile;
         const filePath = path.join(__dirname, 'public', 'imagens');
    
         foto.mv(`${filePath}/${file}`, err => {
              if (err) {
                  return res.send('Imagem não salva!');
              } else {
                  return res.send('Imagem salva com sucesso!');
              }
        });

     

    Escolhe a Imagem:

         

         const escolhaImagem = (response) => {
            if (response.didCancel) {
                console.log('Cancelado!');
            } else if (response.error) {
                console.log("Erro na Imagem: " + response.error);
            } else if (response.customButton) {
                console.log('Botão customizado' + response.customButton);
            } else {
                setFoto(response);
                setFotoUri(response.uri);
                setFotoNome(response.fileName);
                setFotoType(response.type);
            }
        }

     

    Função FormData no Cadastro:

            

            const formData = new FormData();
            formData.append('nome', nome);
            formData.append('marca', marca);
            formData.append('modelo', modelo);
            formData.append('myfile', fotoNome);
            formData.append('usuario_id', usuarioId);
    
            console.log(formData);
    
            const headers = {
                method: "post",
                body: formData,
                headers: {
                    "Content-Type": "multipart/form-data",
                    "Accept": "application/json",
                },
            }
    
            await fetch(URL_SERVIDOR + '/salvar-veiculo', headers)
                .then(response => response.json())
                .then(result => {
                    console.log(result)
                }).catch((err) => {
                    console.log("ERRO: " + err);
                });

     

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.