Javascript 如何将pdf文件从前端发送到Nodejs服务器?
我在我的应用程序前端有一个pdf生成的文件,它是我使用html2pdf插件得到的。我有一个NodeEmailer服务器在我的后台,在那里我可以附加文件并将其发送到我选择的电子邮件。有没有办法将前端生成的pdf发送给Nodejs?我也在用快递 编辑: 根据你的建议,我做到了Javascript 如何将pdf文件从前端发送到Nodejs服务器?,javascript,node.js,express,https,Javascript,Node.js,Express,Https,我在我的应用程序前端有一个pdf生成的文件,它是我使用html2pdf插件得到的。我有一个NodeEmailer服务器在我的后台,在那里我可以附加文件并将其发送到我选择的电子邮件。有没有办法将前端生成的pdf发送给Nodejs?我也在用快递 编辑: 根据你的建议,我做到了 **On the Client side** var element = document.getElementById('element-to-print'); const elem = document.getEleme
**On the Client side**
var element = document.getElementById('element-to-print');
const elem = document.getElementById('html');
html2pdf().from(element).toPdf().get('pdf').then(function (pdf) {
window.open(pdf.output('bloburl'), '_blank');
var formData = new FormData();
formData.append("filename", pdf);
axios.post('/upload',formData).then(res => { console.log(res) })
// formData.append("uploadedFile", fileInputElement.files[0]);
})
在express应用程序上
app.post('/upload', fileUpload(), function(req, res) {
const sampleFile = req.files.uploadedFile;
// do something with file
res.send('File uploaded');
})
但是这个错误来自index.js
TypeError:无法读取null的属性“uploadedFile”
选择要上载的文件
提交
要在节点接收,必须在同一路径上定义新路由。
选择要上载的文件
提交
要在节点接收,必须在同一路径上定义新路由。是
var formData = new FormData();
formData.append("filename", "My awesome file");
formData.append("uploadedFile", fileInputElement.files[0]);
const express = require('express');
const fileUpload = require('express-fileupload');
const app = express();
app.post('/upload', fileUpload(), function(req, res) {
const sampleFile = req.files.uploadedFile;
// do something with file
res.send('File uploaded');
})
然后用Axios之类的东西发布
axios.post('/upload',formData).then(res => { console.log(res) })
在express应用程序中,您可以执行以下操作
var formData = new FormData();
formData.append("filename", "My awesome file");
formData.append("uploadedFile", fileInputElement.files[0]);
const express = require('express');
const fileUpload = require('express-fileupload');
const app = express();
app.post('/upload', fileUpload(), function(req, res) {
const sampleFile = req.files.uploadedFile;
// do something with file
res.send('File uploaded');
})
对
var formData = new FormData();
formData.append("filename", "My awesome file");
formData.append("uploadedFile", fileInputElement.files[0]);
const express = require('express');
const fileUpload = require('express-fileupload');
const app = express();
app.post('/upload', fileUpload(), function(req, res) {
const sampleFile = req.files.uploadedFile;
// do something with file
res.send('File uploaded');
})
然后用Axios之类的东西发布
axios.post('/upload',formData).then(res => { console.log(res) })
在express应用程序中,您可以执行以下操作
var formData = new FormData();
formData.append("filename", "My awesome file");
formData.append("uploadedFile", fileInputElement.files[0]);
const express = require('express');
const fileUpload = require('express-fileupload');
const app = express();
app.post('/upload', fileUpload(), function(req, res) {
const sampleFile = req.files.uploadedFile;
// do something with file
res.send('File uploaded');
})
从我的index.js中,我得到一个名为
TypeError的错误:无法读取null的属性“uploadedFile”
我有与您相同的express应用程序代码,但我修改了客户端javascript,如下所示我用您的solution@greenn几个指针1)您正在调用req.files.uploadedFile,但您在客户端对此进行了注释代码。更改formData.append(“文件名”,pdf)中的客户端代码;到formData.append(“uploadedFile”,pdf)2)由于您已经链接了承诺,请在axios前面添加一个返回。因此它将成为return axios.post 3)您确定已安装express fileupload吗?请运行npm install express fileupload--保存在控制台中。从my index.js我得到一个名为TypeError的错误:无法读取null的属性“uploadedFile”
我有与您相同的express应用程序代码,但我修改了客户端javascript,就像这样我用您的solution@greenn几点提示1)您正在呼叫req.files.uploadedFile,但您在客户端代码中对此进行了注释。更改formData.append(“文件名”,pdf)中的客户端代码;到formData.append(“uploadedFile”,pdf)2)由于您已经链接了承诺,请在axios前面添加一个返回。因此它将成为return axios.post 3)您确定已安装express fileupload吗?请运行npm install express fileupload--保存在控制台中。