【发布时间】:2016-12-07 06:38:21
【问题描述】:
我正在尝试将图像写入 csv 文件。脚本写入文件,但图像的内容搞砸了。
����\u0000\u0010JFIF\u0000\u0001\u0001 的长序列。
有人可以指出我在编码中缺少什么还是应该做其他事情?
测试:
mkdir so-38711430; cd so-38711430; npm init -y; npm i -S lodash json2csv;
'use strict';
const _ = require('lodash');
const json2csv = require('json2csv');
const fs = require('fs');
let rows = [
{
'id': 1,
'name': '12323',
},
{
'id': 2,
'name': '22323',
},
{
'id': 3,
'name': '323232',
},
{
'id': 4,
'name': '24242',
},
];
// image path is valid
fs.readFile(`./images/2NTSFr7.jpg`, 'utf-8', (err, data) => {
_.each(rows, (item) => {
item.image = data;
});
json2csv({
'data': rows
}, (err, csv) => {
fs.writeFile('file.csv', csv, (err) => {
if (err) throw err;
console.log('file saved');
});
});
});
【问题讨论】:
-
你希望写什么?
-
csv中的实际图像。
-
您读取的 utf-8 数据看起来像是
JSON.stringify版本。如果您需要其他内容,请不要将其读取为 utf-8 或不使用基于 JSON 的实用程序。我不相信您可以安全地将未编码的二进制数据写入 csv 文件。 -
任何可以安全地将数据和图像写入 csv 的替代方案?
-
我希望 base64 编码成为二进制数据的 csv 格式。