954,561 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

FILE UPLOAD - Is there a way to compress file size on upload?

Hello,

I have been setting up a photo upload feature for a website which allows members to upload photos.

I am also after some advice on how large a file should be? I thought about allowing members to upload a photo up to 100,000 in size and allowing a maximum of 10 photos each but if I could expand this then it would be great. I just cant seem to find out how! obviously if I had a 1000 members for example each having 10 x 100,000 then thats a huge amount of space.

Is there anyway to compres the files that members upload. For example ...I see facebook which is well known for their photo uploads somehow compress the file and allow massive amounts of files on their servers.

Any advice would be great.

Thanks
:)

justted
Junior Poster
140 posts since Dec 2007
Reputation Points: 10
Solved Threads: 2
 

Hello,

I have been setting up a photo upload feature for a website which allows members to upload photos.

I am also after some advice on how large a file should be? I thought about allowing members to upload a photo up to 100,000 in size and allowing a maximum of 10 photos each but if I could expand this then it would be great. I just cant seem to find out how! obviously if I had a 1000 members for example each having 10 x 100,000 then thats a huge amount of space.

Is there anyway to compres the files that members upload. For example ...I see facebook which is well known for their photo uploads somehow compress the file and allow massive amounts of files on their servers.

Any advice would be great.

Thanks :)

I just cant seem to find out how! obviously if I had a 1000 members for example each having 10 x 100,000 then thats a huge amount of space.


You'd never get 1000x10x100,000. You'd get a much lower number realistically.

What you'd have to ask is weather each member is worth that much space... yes.Is there anyway to compres the files that members upload.

You could first convert the uploaded images to a compressed format. This usually means JPG - I would guess. You can also optimize the JPG server side, make sure you save lower quality if the image is very high quality.

Then you could also gzip it, and save the Gzipped version. Not sure how Gzip would play with the existing image compression, but I think it should reduce the size. (you have to test that, since compressing twice can increase the size).

digital-ether
Nearly a Posting Virtuoso
Moderator
1,293 posts since Sep 2005
Reputation Points: 461
Solved Threads: 101
 
Then you could also gzip it, and save the Gzipped version. Not sure how Gzip would play with the existing image compression, but I think it should reduce the size. (you have to test that, since compressing twice can increase the size).

Indeed, a JPG compressed file does not compress good in gzip, even if strong or strongest compression is used.
It is important what kind of information is needed for a jpg stored online. For example, you can read the EXIF if it is important, and store it in a database, and then resample the image with stronger JPG compression and without EXIF, which will result to something like 130-160 KB for a 1600 x 1200 image with 60 - 70% jpg compression ratio. So when requested, you can show both the exif and still have the image in relatively good quality in relatively big size.

If you must in all cases store the original, then, you may limit your users to a monthly or total upload limit, that when exhausted (either by 10 or by 1000 images),does not allow furhter uploads, and you can leave the images intact.

Rhyan
Posting Whiz in Training
240 posts since Oct 2006
Reputation Points: 21
Solved Threads: 26
 

Facebook and another community sites achieves this optimal capacities performing an image scale reduction and using lossless formats like JPEG for every photo uploaded. Data storage can be a concern on higher web sites, I think CPU usage should be another factor to be considered. You can make a heavy amount of CPU load killing the server resources trying to recompress files that already uses a compression on their data. Also, Lempel-Ziv (.gz .zip) compression will give bigger files as a result (if you're using JPEG images).

The GD library would give the essential functions to do image processing like format conversion and reducing images to the maximum visible dimensions into the website template.

martin5211
Posting Whiz in Training
271 posts since Aug 2007
Reputation Points: 52
Solved Threads: 23
 

thank you NIGDE IN TURKEY

TROMERDOGUTR
Newbie Poster
1 post since Nov 2008
Reputation Points: 10
Solved Threads: 0
 

Another thing you can do to reduce the space used is to use bicubic resize the make the images half the height and half the width but for large images this technique can use a lot of cpu when resizing them back with a bicubic resize unless you just use html to pixel resize to the original size.

cwarn23
Occupation: Genius
Team Colleague
3,033 posts since Sep 2007
Reputation Points: 413
Solved Threads: 259
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You