You could use this library: https://github.com/hometlt/png-metadata
Here is an example:
function loadFileAsBlob(url){
return new Promise((resolve, reject) => {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status === 200) {
resolve(this.response);
// myBlob is now the blob that the object URL pointed to.
}else{
reject(this.response);
}
};
xhr.send();
})
};
//Browser
const blob = await loadFileAsBlob('1000ppcm.png');
const buffer = await blob.arrayBuffer();
//read metadata
metadata = readMetadata(buffer);
And the format of the data you will get:
{
"pHYs": {
"x": 30000,
"y": 30000,
"units": RESOLUTION_UNITS.INCHES
},
"tEXt": {
"Title": "Short (one line) title or caption for image",
"Author": "Name of image's creator",
"Description": "Description of image (possibly long)",
"Copyright": "Copyright notice",
"Software": "Software used to create the image",
"Disclaimer": "Legal disclaimer",
"Warning": "Warning of nature of content",
"Source": "Device used to create the image",
"Comment": "Miscellaneous comment"
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…