- From: Glenn Maynard <glenn@zewt.org>
- Date: Fri, 2 Dec 2011 16:07:08 -0500
- To: Steve VanDeBogart <vandebo@google.com>
- Cc: public-webapps <public-webapps@w3.org>, Tony Payne <tpayne@google.com>
- Message-ID: <CABirCh-ekFKK-KpV90Ek7yX0HW8Evq4k-Sr4bBRN5sFDq7vjgQ@mail.gmail.com>
On Fri, Dec 2, 2011 at 2:20 PM, Steve VanDeBogart <vandebo@google.com>wrote: > interface BlobDataProvider : EventTarget { > void getSize(BlobDataProviderResult result); > >> void getDataSlice(long long start, long long end, >> BlobDataProviderResult result); >> } >> > > As you say, since the size is an attribute of the blob, I don't see the > benefit to making it part of the callback... I guess unless you're trying > to support the streaming blob case. But maybe that's just an argument for > making it > an async function instead of an attribute in the Blob interface. > The getSize method could be removed here, and creating a blob this way would be synchronous: Blob.fromProvider(myProvider, size, type). (I should have removed the EventTarget base from BlobDataProvider, too.) I don't know if there's any API precedent for passing in a user-created object like this. (It's similar to WebIDL dictionaries, but I'm not sure if that's meant for functions.) Anyway, the interface isn't really needed: Blob.fromReader(myGetDataSliceFunc, size, type). The use case I've been thinking about is getting metadata out of files. So > I may want to examine a slice at the beginning of a file and then,look at > other slices at the end or various places in the middle. For a local file, > not a problem, but if you want to integrate an online file provider, (drop > box or something else of that ilk), you can either use a file/callback > based blob, or build a second interface to accessing file data into your > webapp. It all feels cleaner and nicer if just a single interface can be > used. > It feels like a natural thing to provide, but I don't know if the use cases so far are really that compelling. Dropbox-like services don't really need to use a callback API; the Blob-from-URL interface would probably be enough for that. It seems you've been following this issue longer than I, do you know of a > bug filed against the File API for something like this? If not, I'll > probably file one. > I don't know of anything beyond that earlier discussion. As an aside, in a sense "Blob from URL" is a natural inverse operation to URL.createObjectURL. -- Glenn Maynard
Received on Friday, 2 December 2011 21:07:37 UTC