For a small business site we are looking at possibly free file hosting solutions such that a file can be uploaded by the user and our backend (Java) web service is able to update/modify the data at the file hosting service. Fetching the data could be as simple as just directly using a hotlink for simple GET requests (preferable).

For now we are trying to go with a free model that could work well with our java web service. We are open to paid options too but not sure which ones exist with an exposed API and hotlinking capability. For paid options Amazon S3 is the only one that comes to mind that would offer such a facility. Is this the ONLY such service with our constraints?

1 Answer
1

I'm not sure what you mean by "update/modify the data", but there are probably few free file hosting services that allow hotlinking. It's just not a sustainable business model, especially if you have an exposed API wherein not even the uploader will have to come to your site. There are also a lot of copyright infringement liabilities regarding public file sharing services.

Dropbox supposedly allows hotlinking, and I know they have an API, but I'm not sure it's an API that allows you to use it like S3, as it's generally marketed as a personal backup/file sharing solution, not an application data storage service. But I suppose you could give it a try.

For an image hosting service that allows hotlinking, StackExchange uses imgur. I'd imagine Flickr probably has a similar API.

For document (PDF, slideshows, Word/ODF docs, etc.) hosting, I don't think there are any that allow hotlinking, but between Slideshare, Scribd, PDFCast.org, .docstoc, 280slides, AuthorSTREAM, Box.net, Google Docs, and 4shared, you can probably find one that allows you to embed them into your webpage so that the user can at least read the PDF on your page.

To meet all of your requirements, your best bet is to look at paid storage. The simplest solution would be to just use your regular web hosting, since most web hosts these days have fairly generous storage quotas/rates, and direct access and manipulation of the files would be no problem. Otherwise, cloud storage like S3 would probably be the next best option. With S3 you can also use CloudFront as your CDN. Otherwise, you could try these:

Nimbus I/O - a similar web service from SpiderOak, a company that traditionally offers a Dropbox-like file backup/sharing service. They're marketing this as an S3 alternative