diff options
| author | jules <jules@okfoc.us> | 2013-12-13 15:28:31 -0500 |
|---|---|---|
| committer | jules <jules@okfoc.us> | 2013-12-13 15:28:31 -0500 |
| commit | 346f3a9817b1e0812565396b9811a1ce5adc97b8 (patch) | |
| tree | 47944eb9a2762ef2036d140430a69be5afa9f368 /js/vendor/FileSaver/README.md | |
| parent | 96fd8423cc0793d47cab9117b0167fe19041cdea (diff) | |
reorganize
Diffstat (limited to 'js/vendor/FileSaver/README.md')
| -rw-r--r-- | js/vendor/FileSaver/README.md | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/js/vendor/FileSaver/README.md b/js/vendor/FileSaver/README.md new file mode 100644 index 0000000..49aff62 --- /dev/null +++ b/js/vendor/FileSaver/README.md @@ -0,0 +1,78 @@ +FileSaver.js +============ + +FileSaver.js implements the HTML5 W3C `saveAs()` [FileSaver][1] interface in browsers that do +not natively support it. There is a [FileSaver.js demo][2] that demonstrates saving +various media types. + +FileSaver.js is the solution to saving files on the client-side, and is perfect for +webapps that need to generate files, or for saving sensitive information that shouldn't be +sent to an external server. + +Looking for `canvas.toBlob()` for saving canvases? Check out +[canvas-toBlob.js](https://github.com/eligrey/canvas-toBlob.js) for a cross-browser implementation. + +Supported Browsers +------------------ + +| Browser | Constructs as | Filenames | Max Blob Size | Dependencies | +| -------------- | ------------- | ------------ | ------------- | ------------ | +| Firefox 20+ | Blob | Yes | 800MiB | None | +| Firefox ≤ 19 | data: URI | No | n/a | [Blob.js](https://github.com/eligrey/Blob.js) | +| Chrome | Blob | Yes | 345MiB | None | +| Chrome for Android | Blob | Yes | ? | None | +| IE 10+ | Blob | Yes | 600MiB | None | +| Opera Next | Blob | Yes | ? | None | +| Opera < 15 | data: URI | No | n/a | [Blob.js](https://github.com/eligrey/Blob.js) | +| Safari 6.1+ | Blob | No | ? | None | +| Safari < 6 | data: URI | No | n/a | [Blob.js](https://github.com/eligrey/Blob.js) | + +Feature detection is possible: + + try { var isFileSaverSupported = !!new Blob(); } catch(e){} + +Syntax +------ + + FileSaver saveAs(in Blob data, in DOMString filename) + +Examples +-------- + +### Saving text + + var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"}); + saveAs(blob, "hello world.txt"); + +The standard W3C File API [`Blob`][3] interface is not available in all browsers. +[Blob.js][4] is a cross-browser `Blob` implementation that solves this. + +### Saving a canvas + + var canvas = document.getElementById("my-canvas"), ctx = canvas.getContext("2d"); + // draw to canvas... + canvas.toBlob(function(blob) { + saveAs(blob, "pretty image.png"); + }); + +Note: The standard HTML5 `canvas.toBlob()` method is not available in all browsers. +[canvas-toBlob.js][5] is a cross-browser `canvas.toBlob()` that polyfills this. + +### Aborting a save + + var filesaver = saveAs(blob, "whatever"); + cancel_button.addEventListener("click", function() { + if (filesaver.abort) { + filesaver.abort(); + } + }, false); + +This isn't that useful unless you're saving very large files (e.g. generated video). + + + + [1]: http://www.w3.org/TR/file-writer-api/#the-filesaver-interface + [2]: http://eligrey.com/demos/FileSaver.js/ + [3]: https://developer.mozilla.org/en-US/docs/DOM/Blob + [4]: https://github.com/eligrey/Blob.js + [5]: https://github.com/eligrey/canvas-toBlob.js |
