1

我尝试在 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
            })
        })
})

你能告诉我如何解决这个错误以及为什么我会得到这个吗?文件结构 在此处输入图像描述

4

1 回答 1

1

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

const storage = multer.diskStorage({
    destination: function (req,file,cb) {
        cb(null,'./uploads/')
    },
    filename: function(req,file,cb){
        cb(null,Date.now() + '-' + file.originalname)
    }
})
于 2018-06-08T08:58:41.217 回答