如何从表单上传文件,然后使用nodemailer发送文件

时间:2020-09-10 14:44:22

标签: javascript node.js express multer nodemailer

我正在创建一个小型应用程序,用户可以在其中填写姓名,当前雇主,职位类型以及其他几个字段的表格。在表格末尾,我允许用户上传并附加简历。

我想知道通过nodemailer发送表单内容和所附简历的最佳方法是什么。

提交表单后,我已经将表单数据发送到电子邮件中,我只需要知道处理文件上传的最佳方法。

我正在寻找的过程是:用户填写表格以及简历,然后将表格的内容以及简历发送到电子邮件中。我不想保存任何东西。

我尝试过的事情:

  • 我尝试过使用multer。但是,当我在表单标签enctype="multipart/form-data"中添加<form action="/jobrequest" method="POST" enctype="multipart/form-data">时,req.body对象将停止发送表单的内容。

这是我的应用程序配置文件:

const express = require('express')
const app = express()
const router = require('./router')
const cookieParser = require('cookie-parser')
const session = require('express-session')
const flash = require('connect-flash')
const dotenv = require('dotenv')
dotenv.config()

app.use(express.urlencoded({extended: false}))
app.use(express.json())
app.use(express.static('public'))
app.use(cookieParser('secret'))
app.use(session({
    secret: 'SECRET-KEY-NOT-REAL',
    cookie: {maxAge: null},
    resave: false,
    saveUninitialized: false
}))

app.use(flash())
app.set('views', 'views')
app.set('view engine', 'ejs')
app.use('/', router)
app.use(function (req, res, next) {
    res.status(404).render('404')
  })
app.use(function (err, req, res, next) {
    console.error(err.stack)
    res.status(500).render('404')
})

app.listen(process.env.PORT)

0 个答案:

没有答案