Dev Depot: Resumable, Upping Upload Reliability

The problem is a common one for Internet users trying to upload a large file, where the process is either corrupted or aborted. Depending upon connection speed and provider fair use policies, this can be an expensive, frustrating and time consuming process.

Enter 23, a company that creates tools to unleash the power of visual sharing, with its free Resumable.js (; a JavaScript library for simultaneous, stable uploads via the HTML5 File API. 23 offers photo and video sharing platforms, so this technology is a natural fit for similar websites, both on the front- as well as backend.

The library is designed to introduce fault-tolerance into the upload of large files through HTTP by splitting each file into small chunks.

According to a company rep, the library is designed to introduce fault-tolerance into the upload of large files through HTTP by splitting each file into small chunks. Whenever a chunk’s upload fails, it is retried until it succeeds.

“This allows uploads to automatically resume uploading after a network connection is lost either locally or to the server. Additionally, it allows for users to pause, resume and even recover uploads without losing state,” the rep explains. “Resumable.js does not have any external dependencies other the HTML5 File API. This is relied on for the ability to chunk files into smaller pieces.”

Support is thus limited to Firefox 4+ and Chrome 11+, but that covers a lot of ground.

New Resumable objects contain information of what and where to post. To allow files to be either selected or dragdropped, assign a drop target and a DOM item to be clicked. After this, interaction with Resumable.js is done by listening to events.

The Resumable website provides full documentation of options along with samples.

“Most of the magic for Resumable.js happens in the user’s browser, but files still need to be reassembled from chunks on the server side,” the rep explains. “This should be a fairly simple task and can be achieved in any web framework or language, which is able to receive file uploads.”

A number of extra parameters are sent along with all requests in order to handle the state of upload chunks, allowing the same chunk to be uploaded more than once; helping mitigate unstable network environments, which is exactly what Resumable.js is made for.

For every request, chunk reception can be confirmed using HTTP status codes.

Using GET allows uploads to be resumed after browser restarts or even across browsers, with the company noting that in theory it could even run the same file upload across multiple tabs or different browsers. POST data requests are required to use Resumable.js to receive data, but corresponding GET requests can be implemented with the same parameters.

As handy as it is, Resumable.js isn’t necessarily the best choice for every application, as this library is explicitly designed for modern browsers supporting advanced HTML5 file features, and the maker’s motivation is to provide stable and resumable support for large files, allowing consistent, predictable uploads of several GB files through HTTP.

“If your aim is just to support progress indications during upload/uploading multiple files at once,” the rep concludes, “Resumable.js isn’t for you.”

As for alternatives in those cases, 23 recommends SWFUpload and Plupload, as they provide the required features with wider browser support.


Copyright © 2024 Adnet Media. All Rights Reserved. XBIZ is a trademark of Adnet Media.
Reproduction in whole or in part in any form or medium without express written permission is prohibited.

More Articles


'Traffic Captain' Andy Wullmer Braves the High Seas as Spirited Exec

Wullmer networked and hobnobbed, gaining expertise in everything from ecommerce to SEO and traffic, making connections and over time rising through the ranks of several companies to become CEO of the mobile business arm of TrafficPartner.

Alejandro Freixes ·

To Cloud or Not to Cloud, That Is the Question

Let’s be honest. It just sounds way cooler to say your business is “in the cloud,” right? Buzzwords make everything sound chic and relevant. In fact, someone uninformed might even assume that any hosting that is not in the cloud is inferior. So what’s the truth?

Brad Mitchell ·

Upcoming Visa Price Changes to Registration, Transaction Fees

Visa is updating its fee structure. Effective April 1, both the card brand’s initial nonrefundable application fee and annual renewal fee will increase from $500 to $950. Visa is also introducing a fee of 10 cents for each settled transaction, and 10 basis points — 0.1% — on the payment volume of certain merchant accounts.

Jonathan Corona ·

Unpacking the New Digital Services Act

Do you hear the word “regulation” and get nervous? When it comes to the EU’s Digital Services Act (DSA), you shouldn’t worry. If you’re complying with the most up-to-date card brand regulations, you can breathe a sigh of relief.

Cathy Beardsley ·

The Perils of Relying on ChatGPT for Legal Advice

It surprised me how many people admitted that they had used ChatGPT or similar services either to draft legal documents or to provide legal advice. “Surprised” is probably an understatement of my reaction to learning about this, as “horrified” more accurately describes my emotional response.

Corey D. Silverstein ·

WIA Profile: Holly Randall

If you’re one of the many regular listeners to Holly Randall’s celebrated podcast, you are already familiar with her charming intro spiel: “Hi, I’m Holly Randall and welcome to my podcast, ‘Holly Randall Unfiltered.’ This is the show about sex, the adult industry and the people in it.

Women In Adult ·

What's Hot Now: Leading Content Players on Trending Genres, Monetization Strategies

The juggernaut creator economy hurtles along, fueled by ever-ascendant demand for personality-based authenticity and intimacy — yet any reports of the demise of the traditional paysite are greatly exaggerated.

Alejandro Freixes ·

An Ethical Approach to Global Tech Staffing

One thing my 24-year career as a technologist working to support the online adult entertainment industry has taught me about is the power of global staffing. Without a doubt, I have achieved significantly more business success as a direct result of hiring abroad.

Brad Mitchell ·

Finding the Right Payment Partner

Whenever I am talking with businesses that are just getting started, one particular question comes up a lot: “How do I get a merchant account?” It’s a simple question, but it has a complicated answer.

Jonathan Corona ·

The Taxman Cometh for Every Business

February may be the month of romance, but it is also a time when we need to think about something that inspires very little love: taxes. April is not far away, and the taxman is always waiting. This year, federal and most state income taxes are due Monday, April 15.

Cathy Beardsley ·
Show More