{"_id":"file-saver-es","_rev":"1-afb25de276e09075487ce36a39efd10f","name":"file-saver-es","dist-tags":{"latest":"2.0.5"},"versions":{"2.0.5":{"name":"file-saver-es","version":"2.0.5","description":"An HTML5 saveAs() FileSaver implementation","main":"dist/FileSaver.min.js","module":"src/FileSaver.js","scripts":{"test":"echo \"Error: no test specified\" && exit 0","build:development":"babel -o dist/FileSaver.js --plugins @babel/plugin-transform-modules-umd src/FileSaver.js","build:production":"babel -o dist/FileSaver.min.js -s --plugins @babel/plugin-transform-modules-umd --presets minify src/FileSaver.js","build":"npm run build:development && npm run build:production","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/eligrey/FileSaver.js.git"},"keywords":["filesaver","saveas","blob"],"author":{"name":"Eli Grey","email":"me@eligrey.com"},"license":"MIT","bugs":{"url":"https://github.com/eligrey/FileSaver.js/issues"},"homepage":"https://github.com/eligrey/FileSaver.js#readme","devDependencies":{"@babel/cli":"^7.1.0","@babel/core":"^7.1.0","@babel/plugin-transform-modules-umd":"^7.1.0","babel-preset-minify":"^0.4.3"},"gitHead":"4123f0b8d9cfe964458c0ed2289322fc706346d5","_id":"file-saver-es@2.0.5","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Kg0lt+is9nOyi/VDms9miScNGot25jVFbjFccXuCL/shd2Q+rt70MALxHVkXllsX83JEBLiHQNjDPGd/6FIOoQ==","shasum":"5afcb95c3c9884b9cf0852046ec60d46b676790c","tarball":"https://registry.npmjs.org/file-saver-es/-/file-saver-es-2.0.5.tgz","fileCount":8,"unpackedSize":35977,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuZ6FCRA9TVsSAnZWagAAi9oP+wTmQzIFsin884WTrzOn\nmO23s4517iF1dDonEuYp5tu0pY9Uo+rDN2VPo5RYu10Yl0qt0BkxhycTQ6Oa\nVhZcukpWhuKg/sgQnwSgasZ/5VIdiB7M1WYbFR5dLN2idOupF+1tgwpRUZXM\nZfZXYUBW8TUzbgaKH0C3a+UDmXZFnN7yhgLIQfWXyH9OmDHzjl7GqrjqUzMC\nTXz9BPlpym3la3/s5hDzVdVjJyOJas7BnXY0RJNkG2Il15dXoJMY3eUe8czM\nFhsHKo+wGNaiHS4ef8/jPtbmD4emnakETApg0dl2ijDOsn6+JWxb778e/hWX\nQBUER9Q+0ARH+h9g3TOFQsO+qp6pt2el9V23r+Vf3ijU7WbtovX5Cs6xFFnu\nlE4WriLz8edMNtkG8sBHR/SAWN43mKoY2zzSG8PPsEhi+fDPeNweAInb3zww\npj3Ca4VfCaNpdN5klTQXm257wkgjS03pSrMX6Y+JaXPkGmT+xI2wBaQrXqCd\n4u82c/tyE24RNAULA3DQnlpTfpAVpZ38xmLfZVggpyzS1OTajuqQmfnp1jJr\nvRw02/+pDygYlK35/7tIOgucX5GFh/ffLchxxavQZp9h6twFPW3Um/u1fhEH\nVJ2yZVaSPjKT6IUQdnHrh/jNNIQ3htdelFvA6RoXzqsOcXgF2XPnYtRxhhLk\nbM2h\r\n=qyS+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDE2QHiPiqSDW+L/Vcq1ocpoB5pHVDRjRdCJgg2W2punQIhAO3TlwzRiolFExYUC+mN0le+tqp8v+Iu6LAmBa7ZSUiP"}]},"_npmUser":{"name":"wobkenh","email":"henning.wobken@simplex24.de"},"directories":{},"maintainers":[{"name":"wobkenh","email":"henning.wobken@simplex24.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/file-saver-es_2.0.5_1606000260548_0.8618776772165087"},"_hasShrinkwrap":false}},"time":{"created":"2020-11-21T23:11:00.548Z","2.0.5":"2020-11-21T23:11:00.739Z","modified":"2022-05-02T09:32:53.195Z"},"maintainers":[{"name":"wobkenh","email":"henning.wobken@simplex24.de"}],"description":"An HTML5 saveAs() FileSaver implementation","homepage":"https://github.com/eligrey/FileSaver.js#readme","keywords":["filesaver","saveas","blob"],"repository":{"type":"git","url":"git+https://github.com/eligrey/FileSaver.js.git"},"author":{"name":"Eli Grey","email":"me@eligrey.com"},"bugs":{"url":"https://github.com/eligrey/FileSaver.js/issues"},"license":"MIT","readme":"If you need to save really large files bigger than the blob's size limitation or don't have\nenough RAM, then have a look at the more advanced [StreamSaver.js][7]\nthat can save data directly to the hard drive asynchronously with the power of the new streams API. That will have\nsupport for progress, cancelation and knowing when it's done writing\n\nFileSaver.js\n============\n\nFileSaver.js is the solution to saving files on the client-side, and is perfect for\nweb apps that generates files on the client, However if the file is coming from the\nserver we recommend you to first try to use [Content-Disposition][8] attachment response header as it has more cross-browser compatiblity.\n\nLooking for `canvas.toBlob()` for saving canvases? Check out\n[canvas-toBlob.js][2] for a cross-browser implementation.\n\nSupported Browsers\n------------------\n\n| Browser        | Constructs as | Filenames    | Max Blob Size | Dependencies |\n| -------------- | ------------- | ------------ | ------------- | ------------ |\n| Firefox 20+    | Blob          | Yes          | 800 MiB       | None         |\n| Firefox < 20   | data: URI     | No           | n/a           | [Blob.js](https://github.com/eligrey/Blob.js) |\n| Chrome         | Blob          | Yes          | [2GB][3]      | None         |\n| Chrome for Android | Blob      | Yes          | [RAM/5][3]    | None         |\n| Edge           | Blob          | Yes          | ?             | None         |\n| IE 10+         | Blob          | Yes          | 600 MiB       | None         |\n| Opera 15+      | Blob          | Yes          | 500 MiB       | None         |\n| Opera < 15     | data: URI     | No           | n/a           | [Blob.js](https://github.com/eligrey/Blob.js) |\n| Safari 6.1+*   | Blob          | No           | ?             | None         |\n| Safari < 6     | data: URI     | No           | n/a           | [Blob.js](https://github.com/eligrey/Blob.js) |\n| Safari 10.1+   | Blob          | Yes          | n/a           | None         |\n\nFeature detection is possible:\n\n```js\ntry {\n    var isFileSaverSupported = !!new Blob;\n} catch (e) {}\n```\n\n### IE < 10\n\nIt is possible to save text files in IE < 10 without Flash-based polyfills.\nSee [ChenWenBrian and koffsyrup's `saveTextAs()`](https://github.com/koffsyrup/FileSaver.js#examples) for more details.\n\n### Safari 6.1+\n\nBlobs may be opened instead of saved sometimes—you may have to direct your Safari users to manually\npress <kbd>⌘</kbd>+<kbd>S</kbd> to save the file after it is opened. Using the `application/octet-stream` MIME type to force downloads [can cause issues in Safari](https://github.com/eligrey/FileSaver.js/issues/12#issuecomment-47247096).\n\n### iOS\n\nsaveAs must be run within a user interaction event such as onTouchDown or onClick; setTimeout will prevent saveAs from triggering. Due to restrictions in iOS saveAs opens in a new window instead of downloading, if you want this fixed please [tell Apple how this WebKit bug is affecting you](https://bugs.webkit.org/show_bug.cgi?id=167341).\n\nSyntax\n------\n### Import `saveAs()` from file-saver\n```js\nimport { saveAs } from 'file-saver';\n```\n\n```js\nFileSaver saveAs(Blob/File/Url, optional DOMString filename, optional Object { autoBom })\n```\n\nPass `{ autoBom: true }` if you want FileSaver.js to automatically provide Unicode text encoding hints (see: [byte order mark](https://en.wikipedia.org/wiki/Byte_order_mark)). Note that this is only done if your blob type has `charset=utf-8` set.\n\nExamples\n--------\n\n### Saving text using `require()`\n```js\nvar FileSaver = require('file-saver');\nvar blob = new Blob([\"Hello, world!\"], {type: \"text/plain;charset=utf-8\"});\nFileSaver.saveAs(blob, \"hello world.txt\");\n```\n\n### Saving text\n\n```js\nvar blob = new Blob([\"Hello, world!\"], {type: \"text/plain;charset=utf-8\"});\nFileSaver.saveAs(blob, \"hello world.txt\");\n```\n\n### Saving URLs\n\n```js\nFileSaver.saveAs(\"https://httpbin.org/image\", \"image.jpg\");\n```\nUsing URLs within the same origin will just use `a[download]`.\nOtherwise, it will first check if it supports cors header with a synchronous head request.\nIf it does, it will download the data and save using blob URLs.\nIf not, it will try to download it using `a[download]`.\n\nThe standard W3C File API [`Blob`][4] interface is not available in all browsers.\n[Blob.js][5] is a cross-browser `Blob` implementation that solves this.\n\n### Saving a canvas\n```js\nvar canvas = document.getElementById(\"my-canvas\");\ncanvas.toBlob(function(blob) {\n    saveAs(blob, \"pretty image.png\");\n});\n```\n\nNote: The standard HTML5 `canvas.toBlob()` method is not available in all browsers.\n[canvas-toBlob.js][6] is a cross-browser `canvas.toBlob()` that polyfills this.\n\n### Saving File\n\nYou can save a File constructor without specifying a filename. If the\nfile itself already contains a name, there is a hand full of ways to get a file\ninstance (from storage, file input, new constructor, clipboard event).\nIf you still want to change the name, then you can change it in the 2nd argument.\n\n```js\n// Note: Ie and Edge don't support the new File constructor,\n// so it's better to construct blobs and use saveAs(blob, filename)\nvar file = new File([\"Hello, world!\"], \"hello world.txt\", {type: \"text/plain;charset=utf-8\"});\nFileSaver.saveAs(file);\n```\n\n\n\n![Tracking image](https://in.getclicky.com/212712ns.gif)\n\n  [1]: http://eligrey.com/demos/FileSaver.js/\n  [2]: https://github.com/eligrey/canvas-toBlob.js\n  [3]: https://bugs.chromium.org/p/chromium/issues/detail?id=375297#c107\n  [4]: https://developer.mozilla.org/en-US/docs/DOM/Blob\n  [5]: https://github.com/eligrey/Blob.js\n  [6]: https://github.com/eligrey/canvas-toBlob.js\n  [7]: https://github.com/jimmywarting/StreamSaver.js\n  [8]: https://github.com/eligrey/FileSaver.js/wiki/Saving-a-remote-file#using-http-header\n\nInstallation\n------------------\n\n```bash\n# Basic Node.JS installation\nnpm install file-saver --save\nbower install file-saver\n```\n\nAdditionally, TypeScript definitions can be installed via:\n\n```bash\n# Additional typescript definitions\nnpm install @types/file-saver --save-dev\n```\n","readmeFilename":"README.md"}