Contenido

Opera publica el File I/O API para Widgets

16 may

+ 1

Opera se sube al carro de los widgets con la especificación de File I/O propuesta por la W3C. Con ella se pretende conseguir una abstracción en forma de sistema de ficheros donde alojar ficheros con permisos de lectura y escritura dentro de nuestro navegador.

Esto nos permitirá crear Widgets para este navegador en el cual podamos almacenar ficheros de los que podremos obtener y guardar datos que ayudarán a potenciar la aplicación.

Para aprovecharnos de esta especificación Opera nos brinda 3 objetos que contienen todas las funcionalidades posibles sobre la API. FileSystem, File y FileStream.

FIleSystem

Inicializado como un singleton, nos proporciona un sistema de ficheros virtual con el que trabajar.

opera.io.filesystem = function () {
    mountPoints =  {};
    mountSystemDirectory = function ( location, name ) { ; }
    removeMountPoint = function ( mountpoint ) { ; }
    browseForDirectory = function ( name, defaultlocation, callback, persistent ) { ; }
    browseForFile = function ( name, defaultlocation, callback, persistent, multiple, filter ) { ; }
    browseForSave = function ( name, defaultlocation, callback, persistent ) { ; }
}

File

Al igual que otros frameworks, con File podemos apuntar a un directorio, archivo o ficheros regulares. Una vez cargado nos proporcionará una gran cantidad de propiedades y métodos para trabar con el fichero.

var File = function () {
    parent = {};
    readOnly =  false;
    exists =  false;
    isFile =  false;
    isDirectory =  false;
    isArchive =  false;
    metaData = null;
    created =  {};
    modified =  {};
    name =  '';
    path =  '';
    nativePath =  '';
    maxPathLength =  0;
    fileSize =  0;
    length =  0;
    open = function ( path, mode ) { ; }
    copyTo = function ( path, overwrite, callback ) { ; }
    moveTo = function ( path, overwrite, callback ) { ; }
    createDirectory = function ( directory ) { ; }
    deleteDirectory = function ( directory, recursive ) { ; }
    deleteFile = function ( file ) { ; }
    refresh = function () { ; }
    resolve = function ( path ) { ; }
    toString = function () { ; }
}

FileStream

Será usado cuando se quiera leer o escribir sobre un fichero, soporta lectura y escritura de text, imagenes, datos binários y texto en Base64.

var FileStream = function () {
    position = 0;
    bytesAvailable = 0;
    eof = false;
    encoding =  '';
    close = function (  ) { ; }
    read = function ( length, charset ) { ; }
    readLine = function ( charset ) { ; }
    readBytes = function ( length ) { ; }
    readBase64 = function ( length ) { ; }
    write = function ( string, charset ) { ; }
    writeLine = function ( string, charset ) { ; }
    writeBytes = function ( bytes, length ) { ; }
    writeBase64 = function ( string ) { ; }
    writeFile = function ( file ) { ; }
    writeImage = function ( image ) { ; }
}

Podemos probarlo con la última release de la versión 9.5

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.