node-image-storage
is an easy-to-use Node.js module for managing image uploads, deletions, and updates via an external API.
The node-image-storage package is designed for convenient management of images by providing functionality for uploading, deleting, and updating files through an external API. It simplifies the process of integrating image handling capabilities into your Node.js application.
Checks file type before uploading. Converts all images to webp format (except SVG, which are kept in their original format). Assigns unique names to all uploaded files. Uploads files to an external server using an API key for authentication.
Retrieves images by their names.
Deletes files from the external server using an API key.
Updates existing image files by deleting the old file and uploading a new one.
const ImageStorage = require('node-image-storage');
// Initialize with API parameters
ImageStorage.option({
api_url: 'https://your-api-url.com/uploads',
api_key: 'your-api-key'
});
// Upload an image
ImageStorage.uploadImage(file).then(response => {
console.log(response);
});
// Delete an image
ImageStorage.deleteImage('image-name.webp').then(response => {
console.log(response);
});
// Update an image
ImageStorage.updateImage({
update_fileName: 'old-image-name.webp',
file: newFile
}).then(response => {
console.log(response);
});
-
Clone the repository
git clone https://github.com/Subm1s/image-storage-server
-
Install dependencies
npm install
-
Create a
.env
file in the root of the project and add the following environment variables:PORT=5000 API_KEY=your-api-key
-
Run the server:
npm start
The server will start on the specified port (e.g., http://localhost:5000).
Install the NodeImageStorage
package using npm:
npm install node-image-storage
const ImageStorage = require('node-image-storage')
ImageStorage.option({
api_url: 'http://localhost:5000/uploads',
api_key: 'your-api-key',
})
api_url
and api_key
must be a string
async ImageStorage.uploadImage(file)
The file
must be an OBJECT.
Return data:
return { success, image_name, message };
success
= Boolean
image_name
= String
message
= String
async ImageStorage.deleteImage(fileName)
The fileName
must be an STRING.
Return data:
return { success, message };
success
= Boolean
message
= String
const updateDetails = {
update_fileName: fileName,
file: file,
}
async ImageStorage.updateImage(updateDetails)
The fileName
must be an STRING.
The file
must be an OBJECT.
Return data:
return { success, image_name, message };
success
= Boolean
image_name
= String
message
= String