не найден файл в выражении node.js - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь создать свой сервер API на node.js и получить эту ошибку

{
    "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

1 Ответ

0 голосов
/ 08 июня 2018

Я это исправлю!) Проблема с хранилищем.

const storage = multer.diskStorage({
    destination: function (req,file,cb) {
        cb(null,'./uploads/')
    },
    filename: function(req,file,cb){
        cb(null,Date.now() + '-' + file.originalname)
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...