https://bugzilla.wikimedia.org/show_bug.cgi?id=25676
--- Comment #12 from Neil Kandalgaonkar <[email protected]> 2011-03-28 03:13:19 UTC --- (In reply to comment #11) > (In reply to comment #9) > > Reopening since Tim's arguments for WONTFIX pertained mostly to the Firefogg > > add-on (client-side) rather than the FirefoggChunkedUpload extension > > (server-side support). > > Actually I think the second paragraph in comment 5, where I explained why I > don't think the server-side extension should be enabled, was longer than the > first paragraph, which dealt with my objections to the client-side. I've had a look at Google's Resumable Upload Protocol. They do things in a reasonable manner, also very RESTy. We have never used HTTP Headers or Status fields for application state signalling, but we can emulate most of this in ordinary POST parameters and returned data. http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#ResumableUpload Okay, so if the following things were added to a chunked upload protocol, would this be satisfactory? * Before starting an upload, the client tells the server the length of the file to be uploaded, in bytes. * With each upload chunk, the client also tells the server which range of bytes this corresponds to. * With each response to an upload chunk, the server indicates the largest range of contiguous bytes starting from zero that it thinks it has. (The client should use this information to set its filepointer for subsequent chunks). n.b. this means it's possible for the client to send overlapping ranges; the server needs to be smart about this * The server is the party that decides when the upload is done. (By signaling that the full range of packets are received, saying "ok, all done", and then returning the other usual information about how to refer to the reassembled file). We could also add optional checksums here, at least for each individual chunk. (A complete-file checksum would be nice, but it's not clear to me whether it is practical for Javascript FileAPI clients to obtain them). And each upload could return some error status, particularly if checksums or expected length doesn't match. -- Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. You are on the CC list for the bug. _______________________________________________ Wikibugs-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikibugs-l
