前端上传文件和node.js接收

  // 读取本地excel文件
    function readFromLocalFile(file) {
        var reader = new FileReader();
        reader.onload = function (e) {
            var dataUrl = e.target.result;

            uploadTask(file.name, dataUrl);
        }
        reader.readAsBinaryString(file);
    }
    //上传文件到oss
    function uploadTask(data, dataUrl){
        let taskType = $('#taskType').val();
        axios.post('/uploadTask',{
            fileName: data,
            dataUrl: dataUrl,
            taskType: taskType
        }).then((res)=>{
            console.log(res);
        }).catch((e)=>{
            console.log(e);
        })
    }

以上代码为前端js,使用fileReader将文件读取为二进制字符串。

下面为node.js端取,我用buffer取的,然后存到了oss数据库:

//上传任务页面
router.post('/uploadTask', function (req, res) {
    // res.render('dataSource/uploadTask', {
    //     session: req.session,
    // })
    let params = req.body;
    logger.debug(params)
    let buffer = Buffer.from(params.dataUrl,'binary');
    logger.debug(buffer)
    OssApi.saveFileToOSS(params.fileName, buffer, function(err01, res01){
        logger.debug(err01, res01);
        res.send({
            msg: 'ok'
        })
    });
});

 

posted @ 2020-10-23 14:16  ak~biu  阅读(553)  评论(0)    收藏  举报