This sample demonstrates how to use Node.js Stream to read image from Cloud Storage, generate a thumbnail image using Sharp and upload it back to Cloud Storage. This is a alternative approach for using ImageMagick, see generate-thumbnail.
See file functions/index.js for the thumbnail generation code.
The thumbnail generation is performed using Sharp. Download, resize input/output and upload uses Node.js Stream
The dependencies are listed in functions/package.json.
The function triggers on upload of any file to your Firebase project's default Cloud Storage bucket.
To deploy and test the sample:
- Create a Firebase project on the Firebase Console.
- Get the code, for instance using
git clone https://github.com/firebase/functions-samples
- Enter the correct directory
cd functions-samples/image-sharp
- If you do not have it yet, install the Firebase CLI
npm install -g firebase-tools
- Setup the CLI to use your Firebase project using
firebase use --add
and select your Firebase project - Deploy your project's code using
firebase deploy
- Go to the Firebase Console Storage tab and upload an image. After a short time a thumbnail image with the same name but a
thumb_
prefix will be created in the same folder (make sure you refresh the UI to see the new file).
We'd love that you contribute to the project. Before doing so please read our Contributor guide.
© Google, 2016. Licensed under an Apache-2 license.