javascript - 在 node.js Express 中找不到文件

标签 javascript node.js express

我尝试在 node.js 上创建我的 API 服务器并得到这个错误

{
    "error": {
        "message": "ENOENT: no such file or directory, open 'X:\\projects\\Brand-server\\uploads\\2018-06-08T07:45:55.176Zllg.png'"
    }
}

它发生在我尝试在服务器中保存产品图像但它不起作用。我使用 multer 和 Postman(用于测试 API)。 这是我的代码:

const express = require('express')
const router = express.Router()
const mongoose = require('mongoose')
const multer = require('multer')

const storage = multer.diskStorage({
    destination: function (req,file,cb) {
        cb(null,'./uploads/')
    },
    filename: function(req,file,cb){
        cb(null, new Date().toISOString() + file.originalname)
    }
})

const upload = multer({storage:storage})

const Product = require('../models/products')

router.post('/',upload.single('productImage'), (req, res, next) => {
    const product = new Product({
        _id: new mongoose.Types.ObjectId(),
        name: req.body.name,
        price: req.body.price
    })
    product.save()
        .then((result) => {
            console.log(result)
            res.status(201).json({
                createdProduct: result
            })
        })
        .catch(err => {
            console.log(err)
            res.status(500).json({
                error: err
            })
        })
})

你能告诉我如何解决这个错误以及为什么我会得到这个吗? 文件结构 enter image description here

最佳答案

我解决这个问题!) 存储问题。

const storage = multer.diskStorage({
    destination: function (req,file,cb) {
        cb(null,'./uploads/')
    },
    filename: function(req,file,cb){
        cb(null,Date.now() + '-' + file.originalname)
    }
})

关于javascript - 在 node.js Express 中找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50755982/

相关文章:

javascript - VSCode 如何确保扩展的所有 Node 依赖项均已安装?

html - 如何在EJS中的表中的特定单元格中排列数据

javascript - React Native/node 问题 : The package was successfully found. 但是,该包指定了无法解析的 `main` 模块字段

javascript - 从数组中提取父 Node

node.js - 如何在 mixin 中按名称获取变量

javascript - promise 失败状态

javascript - NodeJS MongoDB 动态查询

javascript - 从占位符获取信息到标签

javascript - 遍历数组中的对象,取整数值的总和

javascript - 为什么我的元素在页面加载时大小不正确?