Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

189
Visualizações
Cómo manejan Gatsby Functions la carga de archivos en el formulario de contacto

Podría hacer un formulario de contacto usando Gatsby Functions y SendGrid. El valor de Input text y Textarea se puede enviar con éxito, pero me pregunto cómo puedo manejar el archivo para cargarlo y enviarlo. <input type="file" id="formFile" /> En el caso del enrutador API de Next.js, parece ser posible instalando el paquete "Next-connect" y "multiparty" . ¿Alguna idea en el caso de las funciones de Gatsby ?

api/form_sent.js

 export default function formHandler(req, res) { const sgMail = require('@sendgrid/mail'); sgMail.setApiKey(process.env.SENDGRID_APIKEY); const { method, body } = req; const mailData = { from: process.env.AUTHORIZED_SENDER, to: body.formEmail, subject: 'question from web', html: `<p>${body.formName}<p>${body.formTextarea}</p>`, } const results = sgMail.send(mailData) .then(result => res.status(200).json(JSON.stringify(result))) .catch(error => res.status(500).json(JSON.stringify(error))) }

páginas/formulario.js

 import * as React from "react" import Layout from "../components/layout" export default function FormPage() { const [serverResponse, setServerResponse] = React.useState(``) async function onSubmit(e) { e.preventDefault() const response = await window .fetch(`/api/send`, { method: `POST`, headers: { "content-type": "application/json", }, body: JSON.stringify(value), }) .then(res => res.json()) setServerResponse(response) } return ( <Layout> <form onSubmit={onSubmit} method="POST" action="/api/send"> <input type="text" id="formName" /> <input type="email" id="formEmail" /> <textarea id="formTextarea"></textarea> <input type="file" id="formFile" /> <button type="submit">Send</button> </form> </Layout>
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda