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 (www.resumablejs.com); 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.

Related:  

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

opinion

Goodbye to Noncompete Agreements in the US?

A noncompetition agreement, also known as a noncompete clause or covenant not to compete, is a contract between an employer and an employee, or between two companies.

Corey D. Silverstein ·
opinion

The Search for Perfection in Your Payments Page

There has been a lot of talk about changes to cross sales and checkout pages. You have likely noticed that acquirers are now actively pushing back on allowing merchants to offer a negative option, upsell or any cross sales on payment pages.

Cathy Beardsley ·
opinion

Unpacking the Payment Card Industry's Latest Data Security Standard

The Payment Card Industry Data Security Standard (PCI DSS) is a set of requirements and guidelines that apply to all businesses that accept credit card payments, and is designed to ensure the security of those transactions.

Jonathan Corona ·
opinion

Compliance With State Age Verification Laws

During the past year, website operators have faced a slew of new state age verification laws entailing a variety of inconsistent compliance obligations.

Lawrence Walters ·
opinion

Merchants in Spotlight With Visa's VIRP

By now, most merchants know about the Visa Integrity Risk Program (VIRP) rolled out in spring 2023. The program is designed to ensure that acquirers and their designated agents — payment facilitators, independent sales organizations and wallets — maintain proper controls and oversight to prevent illegal transactions from entering the Visa payment system.

Cathy Beardsley ·
opinion

How to Know When Hosting Upgrades Are Really Needed

I was reminded about an annoyingly common experience that often frustrates website owners: upgrades. Sometimes, an upgrade of physical system resources like CPU, RAM or storage really is required to solve a problem or improve performance… but how do you know you’re not just being upsold?

Brad Mitchell ·
profile

WIA Profile: Natasha Inamorata

Natasha Inamorata was just a kid when she first picked up a disposable camera. She quickly became enamored with it and continued to shoot with whatever equipment she could afford. In her teens, she saved enough money to purchase a digital Canon ELPH, began taking portraits of her friends, shot an entire wedding on a point-and-shoot camera and edited the photos with Picnik.

Women in Adult ·
trends

Collab Nation: Top Creators Share Best Practices for Fruitful Co-Shoots

One of the fastest ways for creators to gain new subscribers and buyers, not to mention monetize their existing fan base, is to collaborate with other creators. The extra star power can multiply potential earnings, broaden brand reach and boost a creator’s reputation in the community.

Alejandro Freixes ·
opinion

Bridging Generational Divides in Payment Preferences

While Baby Boomers and Gen Xers tend to be most comfortable with the traditional payment methods to which they are accustomed, like cash and credit cards, the younger cohorts — Millennials and Gen Z — have veered sharply toward digital-first payment solutions.

Jonathan Corona ·
opinion

Legal and Business Safety for Creators at Trade Shows

As I write this, I am preparing to attend XBIZ Miami, which reminds me of attending my first trade show 20 years ago. Since then, I have met thousands of people from all over the world who were doing business — or seeking to do business — in the adult industry.

Corey D. Silverstein ·
Show More