Loading repository data…
Loading repository data…
hey-its-d2t2 / repository
MetaImage is a web application designed for extracting metadata from image. Built with Spring Boot and Apache Commons Imaging, it provides a user-friendly RESTful API to retrieve detailed metadata, including dimensions, file size, embedded data, etc...
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A Java Spring Boot application for extracting EXIF metadata from JPEG images using the Apache Commons Imaging library. This tool provides an easy-to-use REST API for uploading images and retrieving metadata, presenting data in a clear key-value format for easy frontend rendering.
Clone the Repository
git clone https://github.com/hey-its-d2t2/MetaImage.git
cd ImageMetadataExtractor
Build the Project
mvn clean install
Run the Application
mvn spring-boot:run
Access the application You can test the application at your localhost by hitting the endpoint at
http://localhost:8080 [Note configure your port in application .properties file as server.port=8080 ]
Access the API
You can test the API using Postman or cURL by hitting the endpoint at
http://localhost:8080/api/metadata/upload
This project uses Apache Commons Imaging to parse EXIF data from JPEG files, which allows us to dynamically access metadata fields and display them in key-value format. The library provides flexible methods for working with image metadata, making it ideal for this kind of application.
Upload Image and Extract Metadata
/api/metadata/uploadPOSTRequest:
Response:
Sample Request (using cURL)
curl -X POST http://localhost:8080/api/metadata/upload -F "image=@/path/to/image.jpg"
Example JSON Response
{
"metadata": {
"Make": "Canon",
"Model": "Canon EOS 1200D",
"DateTimeOriginal": "2019:09:04 13:27:40",
"ExposureTime": "1/60",
"FNumber": "4",
"ISO": "800",
"FocalLength": "55mm",
"GPSLatitude": "37.7749",
"GPSLongitude": "-122.4194"
}
}
Errors are returned in a standardized JSON format:
404 Not Found: Requested resource does not exist.
400 Bad Request: Invalid image format or unsupported file type.
500 Internal Server Error: Unexpected errors.
Example:
{
"error": "Invalid image format",
"message": "Please upload a valid JPEG image."
}
Screenshots: The UI provides an intuitive display of the metadata in an easy-to-read format.
Home
After Uploading Image
In application.properties, you can set any configuration specifics for logging, server port, etc.
# Example application.properties configurations
server.port=8080
logging.level.org.springframework=INFO
Contributions are welcome! Please follow these steps:
This project is licensed under the MIT License - see the LICENSE file for details.
All contributions big or small are highly appreciated! Feel free to improve the documentation, fix bugs, or add new features.
Feel free to reach out to Mail or via GitHub issues or discussions.