✂ī¸Resize Image

For resizing an image stored on the IPFS network via the Lighthouse gateway, you can use the image's Content Identifier (CID) along with specific query parameters to define the desired dimensions.

const fetch = require('node-fetch'); // node-fetch must be installed if you're using Node.js versions before 18.x

const resizeImage = (cid, height, width, path) => {
  const url = `https://gateway.lighthouse.storage/ipfs/${cid}?h=${height}&w=${width}`;

  fetch(url)
    .then(response => {
      if (response.ok) return response.buffer();
      throw new Error('Network response was not ok.');
    })
    .then(buffer => {
      const fs = require('fs');
      fs.writeFile(path, buffer, () => {
        console.log(`Resized image saved to ${path}`);
      });
    })
    .catch(error => {
      console.error('Failed to save the resized image:', error);
    });
};

// Replace 'CID' with the actual Content Identifier of your image, and 'path' with your desired file path.
resizeImage('CID', 200, 800, 'path/to/your/directory/filename.ext');

Last updated