繁体   English   中英

Express.js 与 csv-parse

[英]Express.js with csv-parse

我正在尝试获取 csv 文件中的数据。

我通过 Insomnia 发送文件,然后multer负责访问 csv 文件并为我提供缓冲区。

要获取 csv 数据,我使用的是csv-parse

但是,尽管终端中出现了数据,但我总是收到以下错误:

Error: ENAMETOOLONG: name too long, open 'uuid,first_name,last_name,birthday

我真的不明白发生了什么。

这是一个代码片段:

import fs from 'fs'
import parse from 'csv-parse'

const result = []
fs.createReadStream(msg.content).pipe(parse()).on('data', (data) => {
  data.forEach(user => {
    result.push(user)
  })
})

msg.content是 csv 缓冲区。

谢谢你,祝你有美好的一天!

我认为您正在尝试将 csv 内容作为文件句柄(名称)传递。 如果msg.content不是文件句柄,而是包含 csv 的整个缓冲区,则不应使用fs.createReadStream ,而应使用stream.Readable 这应该可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM