首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Multer不保存文件

Multer不保存文件
EN

Stack Overflow用户
提问于 2021-09-11 23:19:14
回答 2查看 39关注 0票数 0

Multer没有保存文件,我看不到任何日志...文件夹为空,没有任何文件。

图像数据实际上被发送到服务器,因为它的控制台已记录:Screenshot of req.files from log

我做错了什么?请帮我找到

代码语言:javascript
复制
const express = require('express');
const router = express.Router();
const path = require('path');
const multer = require('multer');

const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    console.log('destination') // can't see this log
    cb(null, './uploads/');
  },
  filename: (req, file, cb) => {
    console.log('filename') // can't see this log
    const ext = file.mimetype.split("/")[1];
    cb(null, Date.now() + path.extname(file.originalname));
  }
});

const uploadImage = multer({
  storage,
  limits: { fieldSize: 1024 * 1024 },
  fileFilter: (req, file, cb) => {
    console.log('log!')  // can't see this log
    const ext = path.extname(file.originalname);
    if (ext !== '.jpg' && ext !== '.jpeg' && ext !== '.png') {
      console.log('not log!')  // can't see this log
      const err = new Error('Extention');
      err.code = 'EXTENTION';
      return cb(err);
    }
    console.log('log!') // can't see this log
    cb(null, true);
  }
}).single('photo');

router.post('/image', async (req, res) => {
  console.log(req.files) // can see this log

  uploadImage(req, res, err => {
    console.log('upload') // can see this log

    let error = '';
    if (err) {
      console.log(err)
      if (err.code === 'LIMIT_FILE_SIZE') {
        error = 'Max 500kb!';
      }
      if (err.code === 'EXTENTION') {
        error = 'Only jpg and png!';
      }
    }

    res.json({
      ok: !error,
      error
    });
  })
});
EN

回答 2

Stack Overflow用户

发布于 2021-09-12 11:10:10

Multer最后给出了一个错误,所以问题解决了.问题是这些字段的名称是不同的:

服务器:.single('pic');

在对服务器的请求中:formData.append('pic', file);

票数 0
EN

Stack Overflow用户

发布于 2021-09-12 06:22:34

代码对我来说似乎工作得很好,但我只需要手动创建uploads目录。

我使用postman进行了测试,图片出现在我的上传目录中。

代码语言:javascript
复制
# Console Output
SERVER RUNNING ON 3000
undefined
log!
log!
destination
filename
upload
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69147372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档