如何使用sequelize + mysql + express js处理文件上传?

ed_*_*eut 1 mysql express sequelize.js

我正在开发一个简单的软件学院项目,需要上传 pdf/doc 文件。但瓶颈来了:我在任何地方都找不到使用 Sequelize ORM 的此功能的示例和示例。

有人使用这个框架做过类似的事情吗?

*顺便说一句,我知道有几个用于express()的npm包,但我必须使用sequelize。

欢迎任何建议。

提前致谢 ;)

Fra*_*teo 5

使用multer配置您的 Express 应用程序。阅读 multer 的文档,但简而言之,您存储上传文件的路径:

const multer = require('multer')
const express = require('express')
const Sequelize = require('sequelize')
const sequelize = new Sequelize('database', 'username', 'password')

const MyModel = sequelize.define('myModel', {
  filePath: Sequelize.STRING,
})

const express = express()

const storage = multer.diskStorage({
  destination: (req, file, cb) => {
    cb(null, './app/uploads')
  },
  filename: (req, file, cb) => {
    cb(null, file.originalname)
  }
})

app.post('/upload', multer({ storage }).single('example'), async (req, res) => {
    // This needs to be done elsewhere. For this example we do it here.
    await sequelize.sync()

    const filePath = `${req.file.destination}/${req.file.filename}`
    const myModel = await MyModel.create({ filePath })
})
Run Code Online (Sandbox Code Playgroud)