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

479
Visualizações
¿Cómo obtengo una imagen cargada en el siguiente js y la guardo?

¿Cómo obtengo una imagen cargada en la ruta API next.js y la guardo en una carpeta pública? Tengo el tren delantero listo. Estoy cargando imágenes a un punto final usando JavaScript simple. aquí está la función onSubmit para cargar imágenes. Sugiérame si lo estoy haciendo mal aquí. La pregunta principal es ¿cómo lo recupero?

 const onSubmit=async(e)=>{ e.preventDefault(); const fd=new FormData() fd.append('myfile',image.name) let res=await fetch(`http://localhost:3000/api/upload`,{ method: 'POST', headers: { "Content-Type": "image/jpeg", }, body: fd, }) let response=await res.json();

una pregunta extra más, seguramente no es una buena idea guardar las imágenes cargadas en una carpeta pública. Lo he guardado en algún lugar de la nube.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Este es el código de punto final que utilicé para cargar la imagen en nextjs, requiere algunos paquetes adicionales, también los enumeraré a continuación.

  1. próxima conexión
  2. multrar
  3. uuid
 import nextConnect from "next-connect"; import multer from "multer"; import { v4 as uuidv4 } from "uuid"; let filename = uuidv4() + "-" + new Date().getTime(); const upload = multer({ storage: multer.diskStorage({ destination: "./public/uploads/profiles", // destination folder filename: (req, file, cb) => cb(null, getFileName(file)), }), }); const getFileName = (file) => { filename += "." + file.originalname.substring( file.originalname.lastIndexOf(".") + 1, file.originalname.length ); return filename; }; const apiRoute = nextConnect({ onError(error, req, res) { res .status(501) .json({ error: `Sorry something Happened! ${error.message}` }); }, onNoMatch(req, res) { res.status(405).json({ error: `Method '${req.method}' Not Allowed` }); }, }); apiRoute.use(upload.array("file")); // attribute name you are sending the file by apiRoute.post((req, res) => { res.status(200).json({ data: `/uploads/profiles/${filename}` }); // response }); export default apiRoute; export const config = { api: { bodyParser: false, // Disallow body parsing, consume as stream }, };
about 4 years ago · Juan Pablo Isaza Relatório
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