package fr.lteconsulting.hexa.client.ui.uploadjs;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.typedarrays.shared.ArrayBuffer;
public class File extends JavaScriptObject
{
public interface Callback
{
void onDataReady( String data );
}
public interface CallbackArrayBuffer
{
void onDataReady( ArrayBuffer data );
}
protected File()
{
}
public final native String getFileName() /*-{ return this.name; }-*/; // ||
// this.fileName;
// }-*/;public
// final
// native
// int
// getFileSize()
// /*-{
// return
// this.size;
// }-*/;
public final native String getMimeType() /*-{ return this.type; }-*/;
// public final native Object getAsBinary() /*-{ return this.getAsBinary &&
// this.getAsBinary(); }-*/;
public final native String getAsText() /*-{ return this.getAsText && this.getAsText(); }-*/;
public final native void getAsBinary( Callback callback )
/*-{
var reader = new FileReader();
reader.onload = function( event )
{
callback.@fr.lteconsulting.hexa.client.ui.uploadjs.File.Callback::onDataReady(Ljava/lang/String;)( event.target.result );
};
reader.readAsBinaryString( this );
}-*/;
public final native void getAsBinaryArrayBuffer( CallbackArrayBuffer callback )
/*-{
var reader = new FileReader();
reader.onload = function( event )
{
callback.@fr.lteconsulting.hexa.client.ui.uploadjs.File.CallbackArrayBuffer::onDataReady(Lcom/google/gwt/typedarrays/shared/ArrayBuffer;)( event.target.result );
};
reader.readAsArrayBuffer( this );
}-*/;
public final native void getAsDataUrl( Callback callback )
/*-{
var reader = new FileReader();
reader.onload = function( event )
{
callback.@fr.lteconsulting.hexa.client.ui.uploadjs.File.Callback::onDataReady(Ljava/lang/String;)( event.target.result );
};
reader.readAsDataURL( this );
}-*/;
}