nodejs学习(四)nodejs图片上传以及设置静态文件访问路径

nodejs学习(一)nodejs+mysql搭建简单服务
nodejs学习(二)nodejs+mysql简单登录注册
nodejs学习(三)nodejs跨域
nodejs学习(四)nodejs图片上传以及设置静态文件访问路径

图片上传

Multer是一个Node.js中间件,用于处理 multipart/form-data 类型的表单数据,主要用于文件上传,注意:Multer中间件不会处理任何非 multipart/form-data 类型的表单数据。

Multer会自动添加一个body对象及file或files对象到 express框架的request 对象,fifile或fifiles对象包含表单上传的文件信息。
通过表单上传文件时需要注意的是:
(1)单的提交方式只能是POST
(2)须设置表单的 enctype=“multipart/form” 属性

const express = require('express')
const Images = require('../database/models/images') //自己创建的图片模型
const multer = require('multer') // Multer中间件
const fs = require('fs')

const router = express.Router()

//图片上传
router.post("/images", multer({
    //设置文件存储路径
    dest: "public/images",
  }).array("file", 1),
  function (req, res, next) {
    console.log('进来了')
    let files = req.files;
    let file = files[0];
    let fileInfo = {};
    let path = "public/images/" + Date.now().toString() + "_" + file.originalname;
    fs.renameSync("./public/images/" + file.filename, path);
    //获取文件基本信息
    fileInfo.type = file.mimetype;
    fileInfo.name = file.originalname;
    fileInfo.size = file.size;
    fileInfo.path = path;
    res.send({
      code: 200,
      msg: "OK",
      data: fileInfo,
    });
  }
)

module.exports = router

配置图片访问路径

index.js文件加入即可

app.use(express.static('public/images')); // 设置静态图片访问的路径
效果展示

在这里插入图片描述

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值