summaryrefslogtreecommitdiffhomepage
path: root/examples/web/models/loader.html
diff options
context:
space:
mode:
Diffstat (limited to 'examples/web/models/loader.html')
-rw-r--r--examples/web/models/loader.html20
1 files changed, 18 insertions, 2 deletions
diff --git a/examples/web/models/loader.html b/examples/web/models/loader.html
index b0685ad..782a164 100644
--- a/examples/web/models/loader.html
+++ b/examples/web/models/loader.html
@@ -97,11 +97,27 @@
}
});
</script>
-
+ <script type='text/javascript' src="https://cdn.jsdelivr.net/gh/eligrey/FileSaver.js/dist/FileSaver.min.js"> </script>
+ <script type='text/javascript'>
+ function saveFileFromMEMFSToDisk(memoryFSname, localFSname) // This can be called by C/C++ code
+ {
+ var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
+ var data = FS.readFile(memoryFSname);
+ var blob;
+
+ if (isSafari) blob = new Blob([data.buffer], { type: "application/octet-stream" });
+ else blob = new Blob([data.buffer], { type: "application/octet-binary" });
+
+ // NOTE: SaveAsDialog is a browser setting. For example, in Google Chrome,
+ // in Settings/Advanced/Downloads section you have a setting:
+ // 'Ask where to save each file before downloading' - which you can set true/false.
+ // If you enable this setting it would always ask you and bring the SaveAsDialog
+ saveAs(blob, localFSname);
+ }
+ </script>
</head>
<body>
-
<div class="emscripten">
<progress value="0" max="100" id="progress" hidden=1></progress>
</div>