| 74 | 74 | * Read the image, resize, and save it as a PNG into the buffer. |
| 75 | 75 | * @returns {Promise<Buffer>} Image buffer |
| 76 | 76 | */ |
| 77 | 77 | async function getInputImage() { |
| 78 | + try { |
| 78 | 79 | if (Buffer.isBuffer(inputFile)) { |
| 79 | 80 | return await parseImageBuffer(inputFile, crop); |
| 80 | 81 | } |
| 81 | 82 | |
| 82 | 83 | return await tryReadImage(inputFile, crop); |
| 84 | + } catch (error) { |
| 85 | + console.log(`Failed to read image: ${inputFile}. Using a fallback image.`); |
| 86 | + return await fs.promises.readFile(defaultAvatarPath); |
| 87 | + } |
| 83 | 88 | } |
| 84 | 89 | |
| 85 | 90 | const inputImage = await getInputImage(); |