Javascript Node js如何分离具有相同id的对 我如何合并这些块来生成一个Base64图像,我可以考虑包括那些具有相同文件ID的块。 我下面的当前实现的问题,下面的代码是,有成对的块必须被连接(用相同的文件SIDID块),以便生成完整的Base64,但是我的当前代码不能考虑这是为什么Base64中的一些不完整。
我们将如何为每对块(包括没有成对的块)生成最终文件 当前代码实现 更新 你不需要洛达斯来实现这一点。你可能需要做一些改变,但这应该让你开始Javascript Node js如何分离具有相同id的对 我如何合并这些块来生成一个Base64图像,我可以考虑包括那些具有相同文件ID的块。 我下面的当前实现的问题,下面的代码是,有成对的块必须被连接(用相同的文件SIDID块),以便生成完整的Base64,但是我的当前代码不能考虑这是为什么Base64中的一些不完整。,javascript,node.js,Javascript,Node.js,我们将如何为每对块(包括没有成对的块)生成最终文件 当前代码实现 更新 你不需要洛达斯来实现这一点。你可能需要做一些改变,但这应该让你开始 let files = []; for (const i=0; i< chunks.length; i++) { let fileData = "" for (let j = 0; j < chunks[i].length; j++) { // Make sure to import Buffer fi
let files = [];
for (const i=0; i< chunks.length; i++) {
let fileData = ""
for (let j = 0; j < chunks[i].length; j++) {
// Make sure to import Buffer
fileData += new Buffer(chunks[i][j].data).toString('base64');
}
const finalFile = 'data:' + docs[0].contentType + ';base64,' + fileData;
files.push(finalFile);
}
let files=[];
for(常数i=0;i
检查文档[0].contentType
是否具有有效值
你可以用。Lodash有一个名为
groupBy
的函数。它所做的是,您给一个键(files\u id
),它将根据该键对所有数据进行分组
这是一个。属于同一文件的块被分组在
块
对象中,您可以看到它是一个列表列表。如果你先遍历文件,然后遍历块,你应该会有所收获
试试这样的
let files = [];
for (const i=0; i<chunks.length; i++) {
let fileData = ""
// Collect all chunks of a file
for (let j = 0; j < chunks[i].length; j++) {
fileData.push(chunks[i][j].data);
}
//Display the chunks using the data URI format
const finalFile = 'data:' + docs[0].contentType + ';base64,' + fileData.toString('base64').join('');
files.push(finalFile);
}
let files=[];
对于(const i=0;你能用这个lodash提供你的答案吗?@Dikstra在你的chunks
数组中发布你的实现sir第二项(chunks[1]
)是一个包含2项的数组。文件id
(5DBA73DCC62FD33ACD11758)因为这两个文件是相同的。所以,你想合并这两个项目,对吗?是的,合并这两个项目,然后生成最终文件。这是一个很好的回答,可以帮助我理解为什么它对你不起作用。现在我肯定可以给你一个更好的答案@JhonCaylog。
let files = [];
for (const i=0; i< chunks.length; i++) {
let fileData = ""
for (let j = 0; j < chunks[i].length; j++) {
// Make sure to import Buffer
fileData += new Buffer(chunks[i][j].data).toString('base64');
}
const finalFile = 'data:' + docs[0].contentType + ';base64,' + fileData;
files.push(finalFile);
}
let files = [];
for (const i=0; i<chunks.length; i++) {
let fileData = ""
// Collect all chunks of a file
for (let j = 0; j < chunks[i].length; j++) {
fileData.push(chunks[i][j].data);
}
//Display the chunks using the data URI format
const finalFile = 'data:' + docs[0].contentType + ';base64,' + fileData.toString('base64').join('');
files.push(finalFile);
}