Page MenuHomePhabricator

Support HTML5 / Javascript chunked file uploads
ClosedPublic

Authored by epriestley on Mar 13 2015, 12:54 PM.
Tags
None
Referenced Files
F15460176: D12066.id29041.diff
Mon, Mar 31, 8:48 PM
F15458926: D12066.id.diff
Mon, Mar 31, 8:19 AM
F15458676: D12066.id29041.diff
Mon, Mar 31, 6:20 AM
F15457592: D12066.id29034.diff
Sun, Mar 30, 5:19 PM
F15454718: D12066.diff
Sat, Mar 29, 7:56 PM
F15390416: D12066.diff
Mar 15 2025, 6:11 AM
F15383364: D12066.id29041.diff
Mar 14 2025, 4:24 PM
F15380944: D12066.id29041.diff
Mar 14 2025, 5:06 AM
Subscribers
Tokens
"Manufacturing Defect?" token, awarded by btrahan.

Details

Summary

Ref T7149. This adds chunking support to drag-and-drop uploads. It never activates right now unless you hack things up, since the chunk engine is still hard-coded as disabled.

The overall approach is the same as arc upload in D12061, with some slight changes to the API return values to avoid a few extra HTTP calls.

Test Plan
  • Enabled chunk engine.
  • Uploaded some READMEs in a bunch of tiny 32 byte chunks.
  • Worked out of the box in Safari, Chrome, Firefox.

Diff Detail

Repository
rP Phabricator
Branch
chunk4
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 4872
Build 4890: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

epriestley retitled this revision from to Support HTML5 / Javascript chunked file uploads.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: btrahan.

One thing that's not present here is support for resuming uploads: the file.allocate call will never match an existing upload based on content hash because we don't send a content hash (see D12065).

Instead, I'll match partial uploads based on file name, file size, author, and the "isPartial" flag in a future diff. I might add a dialog prompting users to resume, but <name + size> probably uniquely identifies every large file a reasonable user is likely to upload.

btrahan edited edge metadata.
This revision is now accepted and ready to land.Mar 13 2015, 6:19 PM
This revision was automatically updated to reflect the committed changes.