如何使用文件上传控件将文件附加到Node.js中的电子邮件

时间:2019-04-30 10:12:37

标签: node.js

我的Angular应用程序将FormGroup发送到Node.js服务器,然后通过电子邮件发送该表单内容。

此刻,我可以像这样填充电子邮件正文:

<tr>
    <th>Town</th><td>${content['formBody']['personalInfo']['town']}</td>
</tr>

以此类推...

但是,我的表单中还有一个“文件上传”控件,我也想使用该控件将文件附件也添加到电子邮件中。

这是我目前的状态:

<td>${content['formBody']['send']['fileUpload']}</td>

但当前未在电子邮件正文中显示“对象对象”,而不是实际选择的文件。

是否可以使用上述方法将所选文件附加到电子邮件,或者是否有其他方法?非常感谢

1 个答案:

答案 0 :(得分:0)

您在Node.js中使用什么来获取文件? 几个月前,我需要上传文件,并使用了 Multer ,这是一个npm软件包,用于在节点js中处理formdata文件。有了它,您就可以使用后端接收的文件并将其放在电子邮件中。

在前端文件中

//Method to do the request
superagent
.post(/register")
.attach("avatar", uploadedImage)

uploadedImage具有您在VueJS组件中获得的图像内容

在后端文件中

var multer = require('multer')
var upload = multer({ dest: 'uploads/' })
import fs from 'fs-extra'

router.post('/register', upload.single('avatar'), (req, res, next) => {
    return fs.readFile(req.file.path)
            .then(content => {
                // The content of the file
            })
}

有关更多信息,请在此处找到答案Accessing data sent as FormData using Axios

有帮助吗?