Image upload - Reduce size before upload

Hello,

I have been building apps with Glide for a few weeks and I am very impressed by the capabilities it offers ! Congrats’ to the team :partying_face:
Yet one problem has left me stuck…

I need my app users to take pictures with their phone and upload them to my app. This is a critical part of the workflow. Currently it is working, but the uploading time is way too long. Especially if you combine super high resolution picture and low internet speed. Both parameters I can’t control…

Is there any way to resize the picture on the device before it gets uploaded ? I am not talking about blocking upload if the file is bigger than Xx Mb, as this would stall my workflow.

I have found no easy way to do it so far, and I am considering embedding a web view of a page only containing an “upload picture” button.

Thanks in advance for your help!

2 Likes

Have you found any way to make this work?

I feel like I have a similar problem to you. My app depends on people uploading a lot of images quickly. I’m okay with a resolution trade off…I feel like you would have to reduce file size on the device though since you would have to upload the file to one service, then upload that to glide…right?

Going to see what I can do and will let you know if I find anything.

An idea is to do it like this:

  • Assuming you upload the image in a form, you will then have access to the “on submit” action of that form.

  • Once a form is submitted, send the image link through a webhook to Make/Integromat.

  • Find a service that compresses the image using the provided link, ideally it will return a new image link.

  • Update that link back to the right row in the database.

1 Like

it’s good, but not ideal:
make/integromat have a limitation for file size.
so, upload photo could be too big for it, and will not be optimizated or even not upload to app (depending on error chek and script flow).

i found a column type “file size”, but don’t get how it work… and is it a way to solve a problem on the step before uploading.

2 Likes

Is google image api (currently working on glide) getting images on same size?

If it is true, life is not going well :smiley:

are you sure about this api?
i didn’t meet any mention about resize a photo on upload and any option for do so.
(for some app need maximum size and quality, for some - fixed size…)

Did you find one?

I haven’t tried but seems like you can use these.

1 Like

What service would this be? I’ve tried looking online for an image compressor but none returns a new image link. Instead they return a downloadable image. Am looking for one online that compresses the glide link https://storage.googleapis.com/glid.....jpg returning a new compressed link.

You’re right about the downloadable image thing, and usually the link to download expires after a while. Here’s what I would do:

  • Send the original image link to a webhook through a Make/Zapier scenario.

  • Use one of the two APIs above to generate a JSON result. Make sure you parse the result.

  • Add a HTTP module to download the image through the link in the JSON.

  • Upload that to an image storage of your choice. Usually I have another HTTP module to upload it to Imgur.

  • Update the Imgur link back to my database.