应用程序的前端有一个文件下载选项(可使用以下格式:xlsx、csv、dat)。
为此,我使用 fileSaver.js。
对于格式为.dat/.csv的文件,一切正常,但对于.xlsx格式,文件会损坏。
我测试了以下格式进行转换:
- utf8 - base64 - 二进制
以下是我的做法:
对于格式为.dat/.csv的文件,一切正常,但对于.xlsx格式,文件会损坏。
我测试了以下格式进行转换:
- utf8 - base64 - 二进制
以下是我的做法:
// /* BACK */ //
// data is
fs.readFile(filePath, (err, data) {...})
// the api give this answer the important part is "filename" & "data"
{"status":"ok","context":"writing the intermediate file","target":"/temp/","fileName":"name.xlsx","data":{"type":"Buffer","data":[72,82,65,67,67,69,83,83,32,10]}}
// /* FRONT */ //
let json = JSON.stringify(data)
let buffer = Buffer.from(JSON.parse(json).data)
let read = buffer.toString('utf8')
let blob = new Blob([read])
FileSaver.saveAs(blob, fileName)
text/csv
。 - ArifMustafa