I have a backend api that reads from a file which contains compressed data and return a buffer from that data. I want to decompress it in React and convert it to normal version. I used pako for that but it did not work. Here is the code:
//backend
async bulkGet(veritabaniId: number): Promise<any> {
const filePath = join(
envConfig.quadsDataPath,
veritabaniId.toString(),
'quad_data.json',
);
const fileExists = existsSync(filePath);
if (!fileExists) {
return [];
}
return new Promise<any>((resolve, reject) => {
fs.readFile(
join(
envConfig.quadsDataPath,
veritabaniId.toString(),
'quad_data.json',
),
'binary',
async (error, data) => {
if (error) {
reject(error);
} else {
try {
resolve(Buffer.from(data, 'binary'));
} catch {
resolve([]);
}
}
},
);
})};
//react.js
const { data: quadsData } = await quadService.quadLookup({
blockSpinner: true,
});
if(quadsData) {
const decompressedData = pako.inflate(new Uint8Array(quadsData),{to: 'string'});
if(decompressedData) {
setQuadsData(JSON.parse(decompressedData))
}
}