elemental.html.Blob Maven / Gradle / Ivy
/*
* Copyright 2012 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package elemental.html;
import elemental.events.*;
import elemental.util.*;
import elemental.dom.*;
import elemental.html.*;
import elemental.css.*;
import elemental.stylesheets.*;
import java.util.Date;
/**
* This is an experimental feature
Because this feature is still in development in some browsers, check the compatibility table for the proper prefixes to use in various browsers.
A Blob
object represents a file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File
interface is based on Blob
, inheriting blob functionality and expanding it to support files on the user's system.
An easy way to construct a Blob
is by using the BlobBuilder
interface, which lets you iteratively append data to a blob, then retrieve the completed blob when you're ready to use it for something. Another way is to use the slice()
method to create a blob that contains a subset of another blob's data.
Note: The slice()
method has vendor prefixes: blob.mozSlice()
for Firefox and blob.webkitSlice()
for Chrome. An old version of the slice()
method, without vendor prefixes, had different semantics, as described below.
*/
public interface Blob {
/**
* The size, in bytes, of the data contained in the Blob
object. Read only.
*/
double getSize();
/**
* An ASCII-encoded string, in all lower case, indicating the MIME type of the data contained in the Blob
. If the type is unknown, this string is empty. Read only.
*/
String getType();
Blob webkitSlice();
Blob webkitSlice(double start);
Blob webkitSlice(double start, double end);
Blob webkitSlice(double start, double end, String contentType);
}