W3C kom i forrige uke med et første offentlig arbeidsutkast til File API-spesifikasjonen, et programmeringsgrensesnitt (API) som skal åpne for nye muligheter knyttet til opplasting og manipulering av filer i webapplikasjoner, uten å måtte bruke tilleggsløsninger som Flash eller Java.
Ifølge W3C tilbyr spesifikasjonen et programmeringsgrensesnitt for både å representere filobjekter, å velge ut filer ved hjelp av programvare, samt å få tilgang til filenes data.
File API er designet for å bli brukt i forbindelse med andre programmeringsgrensesnitt og elementer i webplattformen, slik som XMLHttpRequest, DataTransfer-delen i dra-og-slipp-grensesnittet i HTML5, samt Web Workers. Det sistnevnte er et programmeringsgrensesnitt for som åpner for trådlignende operasjoner i webapplikasjoner, slik at visse applikasjonsoppgaver kan kjøres parallelt.
I tillegg er tanken at det skal gjøres mulig ved hjelp av programvare å få en liste med filer fra input-elementet når dette er i File Upload-tilstanden.
Dessuten inkluderer File API et grensesnitt, Blob, som kan representere rådata. Dette tilbyr en metode for å dele opp store dataobjekter i flere mindre biter, noe som skal gjøre det enklere å fortsette opplastingen av objektet etter for eksempel et kortvarig nettverksbrudd.
Filbehandlingen skal skje asynkront i hovedtråden til nettleseren, noe som skal bety at nettleseren ikke vil bli utilgjengelig mens en fil lastes opp eller på annet vis behandles. Nettleseren skal dessuten kunne rapportere fremdriften ved opplasting.
Overfor Cnet News nevner W3Cs Mike Smith to eksempler på hva dette kan brukes til.
- En bruker benytter en webbasert applikasjon for å lese og sende e-post. Hun ønsker å legge ved flere vedlegg til visse meldinger. Webapplikasjonen tilbyr et brukergrensesnitt som lar henne velge flere filer som vedlegg på en gang. Etter at hun har valgt filene, lastes de opp til webapplikasjonen asynkront, noe som gjør at hun kan utføre andre handlinger mens vedleggene lastes opp for eksempel ved at hun fullfører meldingen hun var i gang med å forfatte før hun la til vedleggene. Mens vedleggene blir lastet opp, viser webapplikasjonen framdriftsdiagrammer for å indikere hvor mye av innholdet i filene som har blitt lastet opp så langt, forteller Smith.
File API-grensesnittet skal også kunne bistå webapplikasjoner med å prosessere innholdet i filer.
- En bruker har en spilleliste fra sitt foretrukne musikkavspillingsprogram på sitt lokale filsystem. Spillelisten inneholder en liste med sangtitler og informasjon, og brukeren ønsker å kunne hente sangtekstene for visse sanger uten å måtte manuelt søke etter tekstene på weben. Et nettsted vil kunne tilby en webapplikasjon som tillater brukeren å laste opp sin spilleliste. Deretter analyserer webapplikasjonen filen og presenterer et brukergrensesnitt med innholdet av filen som en hyperlenket, sorterbar liste. Brukeren kan så motta sangtekstene til hver av sangene bare ved å klikke på en gitt sangtittel, forklarer Smith.
Ifølge Cnet News kreves det at nye standarder er tilgjengelige i faktiske implementeringer i nettlesere før til kan anses som ferdige. Dette skal sikre at nye ideer har blitt testet i den virkelige verden.
Ifølge Mozillas Chris Blizzard, er det meste av File API-spesifikasjonen implementert i den kommende Firefox 3.6.
W3C har også tidligere startet på arbeidet med et programmeringsgrensesnitt knyttet til filopplasting, men dette arbeidet ser ikke ut til å ha blitt videreført etter 2006.
Les også:
- [20.10.2010] Last opp hele mappestrukturer med Chrome 7
- [11.10.2010] Hektisk arbeid for å fullføre HTML5
- [21.01.2010] Firefox 3.6 kan lastes ned nå
- [16.12.2009] HTML5 kan få støtte for videokonferanser
- [24.11.2009] Siste utkast til felles Ajax-komponent
- [04.11.2009] W3C: - HTML5 blir ferdig innen tre år
- [23.10.2006] Utarbeider webstandard for opplasting av filer