如何将base64视频写入nodejs中的文件

Rub*_*des 0 javascript video base64 node.js

My Express 应用程序正在从浏览器接收 base64 编码的 MP4 并将其写入文件。但该文件不是有效的视频文件,“文件”实用程序只是将其标识为“数据”。

我的代码:

const path = `${config.uploadPath}`;
const filename = `${uniqid()}.mp4`;

let base64Data = req.body.base64.replace(/^data:([A-Za-z-+/]+);base64,/, '');


fs.writeFileSync(`${path}${filename}`, base64Data, 'base64');
Run Code Online (Sandbox Code Playgroud)

Fla*_*der 7

你确定有一个名为base64is request response的变量吗?如果是这样,请尝试以下代码:

req.body.base64 = req.body.base64.replace(/^data:(.*?);base64,/, ""); // <--- make it any type
req.body.base64 = req.body.base64.replace(/ /g, '+'); // <--- this is important

fs.writeFile(`${path}${filename}`, req.body.base64, 'base64', function(err) {
    console.log(err);
});
Run Code Online (Sandbox Code Playgroud)