Recibo los siguientes errores al hacer algunos cambios, pero nunca se resuelven
node:internal/fs/utils:670 throw new ERR_INVALID_ARG_TYPE(propName, ['string', 'Buffer', 'URL'], path); ^ TypeError [ERR_INVALID_ARG_TYPE]: el argumento "ruta" debe ser de tipo cadena o una instancia de Buffer o URL. Recibido indefinido
En algún momento, cuando realizo algunos cambios con la ayuda de Internet, esto aparece como en el registro de la consola: publicar /api/product/create/6291eca0d8edbdf537a8eb4d - - ms - - Esto sucede cuando intento crear un producto y cargar una imagen sobre cartero
capturas de pantalla
1.app.js app.js 2.Ruta del producto Product.js 3. Controlador del producto Controlador del producto.js 4.Modelo del producto Modelo del producto
Código si la imagen no se abre
Ruta del producto-
const express = require("express") const router = express.Router() const { create } = require("../controllers/product") const { requireSignin, isAdmin, isAuth } = require("../controllers/auth") const { userById } = require("../controllers/user") //Routes router.post("/product/create/:userId", requireSignin, isAdmin, create) router.param("userId", userById) module.exports = routerControlador de producto-
const formidable = require("formidable") const _ = require("lodash") const fs = require("fs") const Product = require("../models/product") const { errorHandler } = require("../helpers/dbErrorHandler") exports.create = (req, res) => { let form = new formidable.IncomingForm() form.keepExtensions = true form.parse(req, (err, fields, files) => { if (err) { return res.status(400).json({ err: "Image cannot be uploaded", }) } let product = new Product(fields) if (files.photo) { product.photo.data = fs.readFileSync(files.photo.path) product.photo.contentType = files.photo.type } product.save((err, result) => { if (err) { console.log(err) } res.json(result) }) }) }