前端上傳檔案和node.js接收
阿新 • • 發佈:2020-10-23
// 讀取本地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 functionuploadTask(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' }) }); });