multer(上传文件) & mongodb

express

参考文档

上传单文件项目

安装multer模块

<input type="file" id="file" />
//前端配置
let file = $('#file')[0];
file.onchange = function () {
    //构造form数据 你可以用它传输文件流 它是基于form-data的传输方案
    var data = new FormData();
    // 单图上传,默认选第一张,如果是多图的话,就要for循环遍历fileNode.files数组,并全部append到data里面传输
    data.append("abc", file.files[0]);
    console.log(data);
    $.ajax({
        url: 'http://localhost:1000/users/file_show',
        type: 'POST',
        cache: false, //不必须
        data,
        processData: false,
        contentType: false,
    })
}
//上传配置的必须的参数(后端)
var multer = require('multer');
var storage = multer.diskStorage({
	//设置上传后文件路径,uploads文件夹会自动创建。
	destination: function(req, file, cb) {
		cb(null, './uploads')
	},
	//给上传文件重命名,获取添加后缀名
	filename: function(req, file, cb) {
		var fileFormat = (file.originalname).split(".");
		//给图片加上时间戳格式防止重名名
		//比如把 abc.jpg图片切割为数组[abc,jpg],然后用数组长度-1来获取后缀名
		cb(null, file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]);
	}
});
var upload = multer({
	storage: storage
});


//路由,接收文件
router.post('/file_show', upload.single('abc'), async (req, res, next) => {
  res.send({
    show: 1,
    file: req.file
  })
})

mongodb

nosql数据库,不需要sql语句的数据库,里面一切都是类似于JSON文件

安装

  • 双击安装mongodb.msi文件
  • 找回安装完mongodb文件夹bin的路径
C:\Program Files\MongoDB\Server\3.2\bin

里面有多个exe文件

  • bin该目录下,打开cmd命令行,执行以下命令,该目录有数据连接此数据库,该目录没库就是创建数据库成功,
mongod --dbpath [文件夹的路径]
  • 安装robo3t的可视化软件来管理mongodb数据库,没有表的概念,只有集合(类似于mysql的表))
  • 配合node来使用mongodb数据库,在项目目录下用cmd安装
npm install mongodb
  • 新建server.js,执行以下代码
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
 
// Connection URL
const url = 'mongodb://localhost:27017';
 
// Database Name
const dbName = '1806';
 
// Use connect method to connect to the server
MongoClient.connect(url, function(err, client) {
  assert.equal(null, err);
  console.log("Connected successfully to server");
  const db = client.db(dbName);
  client.close();
});
  • 查看数据
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');

// Connection URL
const url = 'mongodb://localhost:27017';

// Database Name
const dbName = '1806';

// Use connect method to connect to the server
MongoClient.connect(url, function (err, client) {
  assert.equal(null, err);
  console.log("Connected successfully to server");
  //选择库
  const db = client.db(dbName);
  //选择表 集合
  db.collection('students').find({
    age: 18
  }).toArray(function (err, docs) {
    assert.equal(err, null);
    console.log("Found the following records");
    console.log(docs)
  });
  client.close();
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值