我正在尝试读取使用模块'FileReader'和'xlsx'发送到服务器的Excel文件。
var file = body.file;
var xlsx = require('xlsx');
var FileReader = require('FileReader');
var reader = new FileReader();
reader.onload = function (e) {
var data = new Uint8Array(e.target.result);
var workbook = xlsx.read(data, { type: 'array' });
};
reader.readAsArrayBuffer(file);
但是运行它时出现此错误:
Error: Cannot find module 'bufferjs/concat'
Require stack:
- C:\GitHub\ECM-Back\node_modules\FileReader\FileReader.js
- C:\GitHub\ECM-Back\controllers\projects.controller.js
- C:\GitHub\ECM-Back\routes\projects.route.js
- C:\GitHub\ECM-Back\app.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:957:15)
at Function.Module._load (internal/modules/cjs/loader.js:840:27)
at Module.require (internal/modules/cjs/loader.js:1019:19)
at require (internal/modules/cjs/helpers.js:77:18)
at new FileReader (C:\GitHub\ECM-Back\node_modules\FileReader\FileReader.js:62:5)
at projects_importData (C:\GitHub\ECM-Back\controllers\projects.controller.js:184:16)
at Layer.handle [as handle_request] (C:\GitHub\ECM-Back\node_modules\express\lib\router\layer.js:95:5)
at next (C:\GitHub\ECM-Back\node_modules\express\lib\router\route.js:137:13)
at C:\GitHub\ECM-Back\controllers\auth.controller.js:650:37
at tryCatcher (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\util.js:16:23)
at Promise._settlePromiseFromHandler (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\promise.js:517:31)
at Promise._settlePromise (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\promise.js:574:18)
at Promise._settlePromise0 (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\promise.js:619:10)
at Promise._settlePromises (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\promise.js:699:18)
at _drainQueueStep (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\async.js:138:12)
at _drainQueue (C:\GitHub\ECM-Back\node_modules\bluebird\js\release\async.js:131:9)
我已经将'bufferjs'安装到我的node.js系统中。
答案 0 :(得分:0)
由于我使用的是FileReader的新按键,因此我认为出现此错误。