#javascript #node.js #express #multer #nodemailer
#javascript #node.js #экспресс #мультер #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)
Комментарии:
1. Я не вижу, чтобы в вашей конфигурации использовался multer.
2. Загрузите файл с помощью multer