123456789101112131415161718192021222324252627282930313233 |
- // Abstracts constructing a Blob object, so it also works in older
- // browsers that don't support the native Blob constructor. (i.e.
- // old QtWebKit versions, at least).
- // Abstracts constructing a Blob object, so it also works in older
- // browsers that don't support the native Blob constructor. (i.e.
- // old QtWebKit versions, at least).
- function createBlob(parts, properties) {
- /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */
- parts = parts || [];
- properties = properties || {};
- try {
- return new Blob(parts, properties);
- } catch (e) {
- if (e.name !== 'TypeError') {
- throw e;
- }
- var Builder =
- typeof BlobBuilder !== 'undefined'
- ? BlobBuilder
- : typeof MSBlobBuilder !== 'undefined'
- ? MSBlobBuilder
- : typeof MozBlobBuilder !== 'undefined'
- ? MozBlobBuilder
- : WebKitBlobBuilder;
- var builder = new Builder();
- for (var i = 0; i < parts.length; i += 1) {
- builder.append(parts[i]);
- }
- return builder.getBlob(properties.type);
- }
- }
-
- export default createBlob;
|