【发布时间】:2019-02-08 10:15:27
【问题描述】:
我必须将使用html2pdf 在客户端生成的PDF 发送到服务器。我已设法将生成的 PDF 转换为 base64,并希望使用axios 将其发回。这是我的客户端代码:
function myFunction(){
var element = document.getElementById('element-to-print');
html2pdf().from(element).outputPdf().then(function(pdf) {
//Convert to base 64
const newpdf=btoa(pdf);
console.log(newpdf)
var formData = new FormData();
formData.append("uploadedFile", newpdf);
axios.post('/upload',formData).then(res => { console.log(res) }).catch(error => {
console.log(error.response)
})
});
这是我的服务器端代码:
app.post('/upload', fileUpload(), function(req, res) {
const sampleFile = req.files.uploadedFile;
// do something with file
res.send('File uploaded');
})
我认为问题出在客户端,因为我在控制台上获得了转换后的 pdf 的 base64 版本,但之后出现错误:
POST http://localhost:3000/upload 500(内部服务器错误)
我该如何解决这个问题?谢谢。
【问题讨论】:
-
如果你能接收到base64编码的文件,请检查服务器端
-
在服务器端我得到 Cannot read property 'uploadedFile' of null
标签: javascript node.js express form-data