NodeJS将base64附加到文件

时间:2018-08-11 17:17:11

标签: node.js base64

我尝试在我的React应用程序中实现块文件上传。 我正在使用blob.slice和Filreader来获取base64并将其作为POST发送到我的服务器。

const chunkSize = 1024 * 1024 * 5;
const blob = new Blob([file]);
const currentChunk = blob.slice(0, chunkSize);

const reader = new FileReader();
reader.readAsDataURL(currentChunk);
reader.onload = (e) => { 
    const base64Data = reader.result.replace('data:;base64,', '');
    axios.post('url', {
        data: base64Data
    }).then((response) => {
        // .. Get next chunk and so on
    })
}

在我的nodejs服务器端(带有Express),我尝试将每个base64块附加到文件中以恢复整个文件:

fs = require('fs');
fs.writeFileSync(testFile, req.body.data, {encoding: 'base64'});

如果我现在上传一个文件,例如500mb,则服务器上还原的文件始终为5.2MB

1 个答案:

答案 0 :(得分:1)

基于docs,这应该可以完成

fs.appendFileSync(testFile, req.body.data, {encoding: 'base64'});