Where to change for external image storage in Opencart? - amazon-s3

I am planning to store all my images on S3 Amazon service. Opencart system uses 4 different image sizes. Which one is better for website page load and optimize opencart; resizing all images and upload to S3 or just uploading main image to S3 and let opencart image cache resize the other picture sizes ?
Thanks

Upload normal images into s3 storage and give the storage path in config.php , opencart automatically does the resizing while rendering

I would use a cdn plugin it solves the headache for you.

Related

Uploading image to "buffer"

I'm developing an application that uses (lots) of image processing.
The general overview of the system is:
User Uploads photos to server (Raw photo, with FULL resolution)
Server Fetches new photos, and apply image processing on them
Server resizes image and serves those photos (delete the full one?)
My current situation is that I have almost no expertise in image hosting nor large data uploading and managing.
What I plan to do is:
User uploads directly from Browser to Amazon S3 (Full Image)
User notifies my server, and add the uploaded file to the Queue for my workers
When worker receives a job, it downloads the full image (from Amazon), and process it. Updates database, and then re-uploads the image to Cloudinary (resize in server?)
Use the hosted image on Cloudinary from now on.
My doubts are regarding the process time. I don't want to upload it directly to my server, because it would require a lot of traffic and create a bottleneck, so using Amazon S3 would reduce that. And hosting images with Amazon would not be that good, since they don't provide specific API's to deal with images as Cloudinary does.
Working with separate servers for uploading, and only triggering my server when upload is done by the browser is ok? Using Cloudinary for hosting images is also something that makes sense? Sending to Amazon, instead of my own server (direct upload to my server) should be avoided?
(This is more a guidance/design question)
Why wouldn't you prefer uploading directly to Cloudinary?
The image can be uploaded directly from the browser to your Cloudinary account, without any further servers involved. Cloudinary then notifies you about the uploaded image and its details, then you can perform all the image processing in the cloud via Cloudinary. You can either manipulate the image while keeping the original, or you may choose to replace the original with the manipulated one.

ImageResizer, Amazon S3 and caching

I am building a photo sharing site, and using amazon s3 for my storage. Everything is working great, except that the pages render slowly.
When I have over 100 images on the page, and requests that look like mysite/s3/bucket/image.jpg?w=200, does this mean that every image is first downloaded, and then resized? If so, how do I configure caching of thumbnails? I can't seem to find that info in the documentation.
You need the DiskCache (and possibly SourceDiskCache) plugins installed. DiskCache will cache the resized images to disk, while SourceDiskCache will cache the S3 images to disk.
If you only have a couple versions of the S3 image, output caching is sufficient, but it is definitely needed.
It's also important to think about the bandwidth requirements between the ImageResizer server and S3. If you're using EC2, make sure you're in the same region as the S3 bucket. If you're using a VM, make sure that you have a big pipe.
The bottleneck is always I/O.

Bulk upload large images to cloudinary

Is there a way to bulk upload images to my cloudinary account?
I am looking to import 100 images of 3MB each at a time.
Thank you.
You can use Cloudinary's upload API to upload images one by one. Here is a sample upload code in Python.
If your images are already in a public location, you can specify the remote HTTP URL as the file parameter instead of sending the actual image's data. This allows much faster uploading. If your images are in an Amazon S3 bucket, images can be fetched by Cloudinary directly from S3 for reaching even higher upload performance.
You can also run your upload code using multiple processes in parallel for quickly uploading multiple files simultaneously. In our Ruby on Rails client library we included a migration tool.
Currently there is no dedicated API method of Cloudinary for performing bulk upload of images.
Easiest way is to use the remote API - and Just pass the url reference to the account and Cloudinary will connect to the image and download it into your account.
http://cloudinary.com/documentation/upload_images#remote_upload

Rails & Amazon S3 - how it works?

I would like to ask you for a simple beginner's question - I have my app in Rails and it's on Heroku. For storing images use the app S3 by Amazon.
For uploading images I use the Paperclip plugin.
And what I don't understand - I deploy my app from localhost to Heroku. It seems on Heroku my app works fine, I upload the image, this image is stored to S3 and in my app is fine displayed.
But now if I will upload an image on my localhost version - so the image will be uploaded to S3 bucket or will be stored on my hard drive?
Are these two sides separated or if I once set up into my model the S3 support, so that will be mean all images will uploaded to S3 (from heroku and from localhost)?
#phs is correct. The images will be stored on S3 regardless of where you run the app. This can cause you some grief if your :id is embedded in the image location (which it probably is) and your dev database has different ID's than your production/heroku database.

Amazon S3/Cloudfront Image Overwriting Issue

I'm currently serving up static images to my site via Amazon Cloudfront and for some reason my images won't update when I try to overwrite them with an updated image. The old image continues to display.
I've even tried deleting the entire images folder and uploading the newest ones without success. The only thing that works is renaming the image.
Anyone else experience this?
recently amazon s3 announced new feature called content invalidation. it allows you to invalidate some file just with a one call. check cloudfront api references for more details.