What do you mean by Image Thumbnail? Do you want some blurry image under 1kb size?
If so, you can create image thumbnails on android using glide library by overriding image size like this:
Glide.with(context).load(imageUrl).override(10,10).into(imageView);
But for this to work glide has to download all Image which is breaking the point of thumbnails.
You said You have created thumbnails already.
But you say Parse directs to original file? How do you create your thumbnails and how do you store them?
I’m also creating thumbnails of Image. I’m using cloud code and some npm modules.
Thumbnail Module
File Type Module
Here how you can do that:
Add this lines to top of your main.js file
const fileType = require("file-type");
const imageThumbnail = require('image-thumbnail');
Use afterSaveFile Trigger like this:
Parse.Cloud.afterSaveFile(async (request) => {
const file = request.file;
const fileData = await file.getData();
const fileBuffer = Buffer.from(fileData, 'base64');
const mimeInfo = await fileType.fromBuffer(fileBuffer);
console.log(mimeInfo);
if(!mimeInfo.mime.startsWith("image")){
//If file is image then we create imageThumbnail
//percentage value determines the quality of imageThumbnail
//Lower value means lover quality and lower file size
//I personally use 5 because ıt ussually generates thumbnail smaller than 1KB
let options = { percentage: 5, responseType: 'base64' };
const thumbnail = await imageThumbnail(fileBuffer, options);
var thumbfile = new Parse.File("thumbMedia.jpg", { base64: thumbnail });
const t2 = await thumbfile.save();
//Now t2 is your thumbnail file. Do whatever you want with it.
}
});