🔧 Fixed unzip async operation
This commit is contained in:
@@ -344,17 +344,18 @@ export const uncompressZipArchive = async (filePath: string) => {
|
|||||||
const { fileNameWithoutExtension, extension } =
|
const { fileNameWithoutExtension, extension } =
|
||||||
getFileConstituents(filePath);
|
getFileConstituents(filePath);
|
||||||
const targetDirectory = `${USERDATA_DIRECTORY}/expanded/${fileNameWithoutExtension}`;
|
const targetDirectory = `${USERDATA_DIRECTORY}/expanded/${fileNameWithoutExtension}`;
|
||||||
const resizedImagesDirectory = `${USERDATA_DIRECTORY}/expanded/resized/${fileNameWithoutExtension}`
|
const resizedImagesDirectory = `${USERDATA_DIRECTORY}/expanded/resized/${fileNameWithoutExtension}`;
|
||||||
await createDirectory(directoryOptions, targetDirectory);
|
await createDirectory(directoryOptions, targetDirectory);
|
||||||
await p7zip.extract(filePath, targetDirectory, [], "", false);
|
await p7zip.extract(filePath, targetDirectory, [], "", false);
|
||||||
const foo = await resizeImageDirectory(targetDirectory, resizedImagesDirectory)
|
|
||||||
console.log(foo);
|
|
||||||
return [];
|
|
||||||
|
|
||||||
|
return await resizeImageDirectory(targetDirectory, resizedImagesDirectory);
|
||||||
};
|
};
|
||||||
export const uncompressRarArchive = async (filePath: string) => { };
|
export const uncompressRarArchive = async (filePath: string) => { };
|
||||||
|
|
||||||
export const resizeImageDirectory = async (directoryPath: string, resizedImagesDirectory: string) => {
|
export const resizeImageDirectory = async (
|
||||||
|
directoryPath: string,
|
||||||
|
resizedImagesDirectory: string
|
||||||
|
) => {
|
||||||
const files = await walkFolder(directoryPath, [
|
const files = await walkFolder(directoryPath, [
|
||||||
".jpg",
|
".jpg",
|
||||||
".jpeg",
|
".jpeg",
|
||||||
@@ -364,25 +365,35 @@ export const resizeImageDirectory = async (directoryPath: string, resizedImagesD
|
|||||||
".bmp",
|
".bmp",
|
||||||
]);
|
]);
|
||||||
await createDirectory({}, resizedImagesDirectory);
|
await createDirectory({}, resizedImagesDirectory);
|
||||||
const resizePromises = new Promise((resolve, reject) => {
|
const resizePromises = [];
|
||||||
return map(files, (file) => {
|
map(files, (file) => {
|
||||||
const sharpResizeInstance = sharp().resize(275);
|
resizePromises.push(
|
||||||
const resizedStream = createReadStream(
|
new Promise((resolve, reject) => {
|
||||||
`${directoryPath}/${file.name}${file.extension}`
|
const sharpResizeInstance = sharp().resize(275);
|
||||||
);
|
const resizedStream = createReadStream(
|
||||||
if (fse.existsSync(`${directoryPath}/${file.name}${file.extension}`)) {
|
`${directoryPath}/${file.name}${file.extension}`
|
||||||
return resizedStream
|
);
|
||||||
.pipe(sharpResizeInstance)
|
if (
|
||||||
.toFile(`${resizedImagesDirectory}/${file.name}_275px${file.extension}`)
|
fse.existsSync(
|
||||||
.then((data) => {
|
`${directoryPath}/${file.name}${file.extension}`
|
||||||
console.log(`Resized image ${JSON.stringify(data, null, 4)}`);
|
)
|
||||||
return `${resizedImagesDirectory}/${file.name}_275px${file.extension}`;
|
) {
|
||||||
});
|
resizedStream
|
||||||
}
|
.pipe(sharpResizeInstance)
|
||||||
});
|
.toFile(
|
||||||
|
`${resizedImagesDirectory}/${file.name}_275px${file.extension}`
|
||||||
|
)
|
||||||
|
.then((data) => {
|
||||||
|
console.log(
|
||||||
|
`Resized image ${JSON.stringify(data, null, 4)}`
|
||||||
|
);
|
||||||
|
resolve(
|
||||||
|
`${resizedImagesDirectory}/${file.name}_275px${file.extension}`
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
);
|
||||||
});
|
});
|
||||||
return Promise.all([resizePromises]);
|
return await Promise.all(resizePromises);
|
||||||
|
};
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user