Node.js Apollo服务器和graphQL上传excel文件并逐行读取

Node.js Apollo服务器和graphQL上传excel文件并逐行读取,node.js,graphql,react-apollo,apollo-server,Node.js,Graphql,React Apollo,Apollo Server,我使用graphQL和Apollo服务器以及express实现了文件上传,并且工作正常。已上载目录上的文件存储 我采用以下参考资料 我想逐行读取上传的Excel文件我尝试了不同的NPM,但不起作用 const fs = require('fs'); const {v4: uuid} = require('uuid'); const s3 = require('./s3'); let uploadProcess = async (file)=>{ let {createReadS

我使用graphQL和Apollo服务器以及express实现了文件上传,并且工作正常。已上载目录上的文件存储

我采用以下参考资料

我想逐行读取上传的Excel文件我尝试了不同的NPM,但不起作用

const fs = require('fs');
const {v4: uuid} = require('uuid');
const s3 = require('./s3');

let uploadProcess = async (file)=>{
    let {createReadStream, filename, mimetype, encoding} = await file;
    let stream = createReadStream();
    let path = "uploads/" + uuid() + filename;
    return new Promise((resolve,reject)=>
        stream
        .on("error", (error)=>{
            if (error) fs.unlinkSync(path);
            reject({
                success: false,
                message: "Some Error"
            });
        })
        .pipe(fs.createWriteStream(path))
        .on("finish", ()=> {
            resolve({
                filename, mimetype, encoding, location: path,
                success: true, message: "Successfully Uploaded!"
            })
        })
    )
}

 stream
      .on("error", (error) => {
        if (error) fs.unlinkSync(path);
        reject({
          success: false,
          message: "Some Error",
        });
      })
      .pipe(fs.createReadStream(path))
      .on("data", (row) => {
        // use row data
        console.log("Row data", row);
      })
      .on("finish", () => {
        resolve({
          filename,
          mimetype,
          encoding,
          location: path,
          success: true,
          message: "Successfully Uploaded!",
        });
      })
  );
我很想看这条流,但它不起作用

const fs = require('fs');
const {v4: uuid} = require('uuid');
const s3 = require('./s3');

let uploadProcess = async (file)=>{
    let {createReadStream, filename, mimetype, encoding} = await file;
    let stream = createReadStream();
    let path = "uploads/" + uuid() + filename;
    return new Promise((resolve,reject)=>
        stream
        .on("error", (error)=>{
            if (error) fs.unlinkSync(path);
            reject({
                success: false,
                message: "Some Error"
            });
        })
        .pipe(fs.createWriteStream(path))
        .on("finish", ()=> {
            resolve({
                filename, mimetype, encoding, location: path,
                success: true, message: "Successfully Uploaded!"
            })
        })
    )
}

 stream
      .on("error", (error) => {
        if (error) fs.unlinkSync(path);
        reject({
          success: false,
          message: "Some Error",
        });
      })
      .pipe(fs.createReadStream(path))
      .on("data", (row) => {
        // use row data
        console.log("Row data", row);
      })
      .on("finish", () => {
        resolve({
          filename,
          mimetype,
          encoding,
          location: path,
          success: true,
          message: "Successfully Uploaded!",
        });
      })
  );
任何人,请提出一个可能的解决方案来解决这个问题