views:

82

answers:

0

Imagine you have a web site that you want to send a lot of data. Say 40 files totaling the equivalence of 2 hours of upload bandwidth. You expect to have 3 connection losses along the way (think: mobile data connection, WLAN vs. microwave). You can't be bothered to retry again and again. This should be automated. Interruptions should not cause more data loss than neccessary. Retrying a complete file is a waste of time and bandwidth.

So here is the question: Is there a software package or framework that

  1. synchronizes a local directory (contents) to the server via HTTP,
  2. is multi-platform (Win XP/Vista/7, MacOS X, Linux),
  3. can be delivered as one self-contained executable,
  4. recovers partially uploades files after interrupted network connections or client restarts,
  5. can be generated on a server to include authentication tokens and upload target,
  6. can be made super simple to use

or what would be a good way to build one?

Options I have found until now:

  • Neat packaging of rsync. This requires an rsync (server) instance on the server side that is aware of a privilege system.
  • A custom Flash program. As I understand, Flash 10 is able to read a local file as a bytearray (indicated here) and is obviously able to speak HTTP to the originating server. Seen in question 1344131 ("Upload image thumbnail to server, without uploading whole image").
  • A custom native application for each platform.

Thanks for any hints!

Related work:

  • HTML5 will allow multiple files to be uploaded or at least selected for upload "at once". See here for example. This is agnostic to the local files and does not feature recovery of a failed upload.
  • Efficient way to implement a client multiple file upload service basically asks for SWFUpload or YUIUpload (Flash-based multi-file uploaders, otherwise "stupid")
  • A comment in question 997253 suggests JUpload - I think using a Java applet will at least require the user to grant additional rights so it can access local files
  • GearsUploader seems great but requires Google Gears - that is going away soon