My java app generates some .png image which i want to store to any cloud storage through java API. I dont want any paid service if possible in free. Not getting a good answer for last 4 hours. Any suggestion?
Google Cloud Storage doesn't have a free tier, although for only a handful of PNG images you will likely be spending less than $1 per month.
Google Drive, however, is free for the first 15 GB or so (it's shared with your GMail account, your Google+ photos, etc). Google Drive also provides a Java API: https://developers.google.com/drive/quickstart-java
Dropbox and S3 also both have APIs and various quantities/time of free storage. If you're just looking to host images, and you're not trying to make money, and you don't need to host that many, you could look into image-specific services. Imgur.com, for example, provides an API.
Dropbox and Google Drive could meet your needs. You can download/upload files pragmatically to Dropbox and also to Google Drive. They have API to do it.
However, if you are really looking for really complete service where you can scale up your data storage until you want, you really want to take a look at Amazon S3. In fact, as far as I know, Dropbox works on the top of Amazon S3 to provide their services.
If you would like to have an idea about how to upload/download a file to Amazon S3, you can take a look to this application example. If you want the same thing on Dropbox or Google Drive, there are a lot of examples on Internet. However, on these two providers you need a token to upload files, what I don't like. I prefer the way in which it works for Amazon S3 (just for programming purposes - GUI is better on GD or Dropbox).
Amazon S3 is not totally free, but it is really, really cheap.
Be aware of the network latency between your app and your File storage provider if you don't use the same physical infrastructure.
Related
I want a filesystem in the cloud to upload and download files with a java library.
I know Google Cloud Service has the service but i need one that have free storage until 2 ou 3 Gb.
Tks
For Google-specific solutions, Google Drive supports 15GB of free storage and supports Java (see their Java Example Drive App or Android Demos). Also, Google Cloud Storage supports a free trial, but otherwise charges per the price sheet, and also offers Java support through the Cloud Storage API Client Library for Java or third party toolkits, such as JetS3t.
There are also many non-Google cloud storage products, many of which have a free tier.
I am planning to host images via Google app engine blobstore API.
It looks to be very promising on performance and cheap.
Also I would be able to map to my custom domain.
But few things that I wish to know about.
1.) Is serving images via blobstore a good idea in regards to SEO of my application?
As all my images are going to dynamic, does google index dynamic images with my custom domain url.
2.)And image serving is going to cost outgoing bandwidth which seems too be cheap but still is there any other alternative to cut off outgoing bandwidth cost?
3.) And please suggest if there is any other alternative that is better that GAE and can serve my requirements.
1.)Is serving images via blobstore a good idea in regards to SEO of my application? As all my images are going to dynamic, does google index dynamic images with my custom domain url.
Don't put the images in database. Instead upload the images and put the link in database. Instagram uses s3 for its images, so you don't have to worry about performance. If you store the images as files and provide a link, search engines can index them well. Just make sure you use relevant names for the images. For example, for this image use http://example.com/data/image-store/owl-be-your-valentine
3.)And please suggest if there is any other alternative that is better that GAE and can serve my requirements.
I have not used GAE. If you are asking for an alternative. I would suggest you aws s3.
2.)And image serving is going to cost outgoing bandwidth which seems too be cheap but still is there any other alternative to cut off outgoing bandwidth cost?
s3 is cheap, very cheap. http://www.codinghorror.com/blog/2007/03/using-amazon-s3-as-an-image-hosting-service.html
It's depend on daily usage.
Google App Engine has a daily free quota(1GB outgoing traffic).
If you daily taffic around 1-5GB,Google App Engine is the cheapest way.
Whn using Java to host images with GAE, you should use the getServingUrl. You pass it a blob key, along with optional resize and crop options, and it gives you back a URL.
I am trying to find the best way to transfer my huge data to google app engine datastore. We are java developers and it would be great if you can suggest the solutions around Google App Engine Java.
I have seen few solutions like google app engine pipeline, map reduce and tried them but nothing works. Is there any real solution that works?
Thanks,
Ramesh.V
What I did, split them into files of max 32MB? Upload them along with the backend source code and write a program on backend to fetch the data to datastore records... Mind you, each record has a maximum size of 1MB.
I do not know the best way, but have you looked at GAE/J's Remote API for Java?
Why don't you try Google BigQuery?
https://cloud.google.com/products/big-query
Here's a howto for the data transfer
I have a website that provides a photo service for clients. I want to use Amazon S3 as the storage space for all the photos but am having trouble interacting with the S3 buckets. What I need to do is give my customers access to all their photos sitting in their S3 bucket. I'd like to give them a visual display of all the images and then allow them to select a group or all of the photos for download. I'm assuming a Java applet is needed to handle this interaction. Does anyone know of a java based downloader that will interface with S3 or could possibly build one?
We've also thought of all or a group of files that reside on S3 but can't figure out how to zip files while they're on S3.
Any help is much appreciated!
I suppose when you mean by java based downloader you're talking about web services, sincerely I don't know much about Amazon S3 web services, but I do know they exist, and what I'd advise is to first get to know the Amazon web services, try to find if there is any web method to download the files (my bet is that it has to be a bit per bit download)
Concerning java applet you would only need it if you want to upload files, because of the existing security.
I'm building app that will store large video files to the server and then user will be able to view them. For my app I'm using GWT + GAE/J and to store files I would like to use S3 account. But as we know that you can upload max 10mb to GAE. I have asked this kind of question before and the answer that I have accepted will work only if you have file less then 10mb. That solution that KevMo have suggested uploads whole files to the server but what if my file is 20mb or 100mb. Is it possible to divide that file into 10mb peaces, send them to GAE and then assemble those files on S3 server.
Here is the picture of what I'm trying to accomplish here:
Thanks
Why not have your GWT client upload the video directly to S3? You can have your app engine code create the authentication token or password or whatever S3 calls it, and then your GWT client would send the file straight there. If need be, it could pass back whatever meta data that your app engine code needs.(file size, name, whatever)
see this question for more info on giving users permission to upload to S3:
PS - obviously this doesn't work quite as well if you are doing some kind of processing to the video in your app engine code before uploading it to S3alt text http://www.freeimagehosting.net/uploads/b49fdee149.jpg
I'd highly recommend developing your own transfer control instead. Likely it will take the same amount of time.