unity webgl 系列(2):从webgl内存中下载文件到本地硬盘

发布时间:2024年01月18日

前面是将文件上传到webgl进程,本篇是将文件从webgl进程中下载文件到浏览器的下载目录中。

通用,只需要 二进制数组和文件名。

一、修改__Internal.jslib

添加一段代码

mergeInto(LibraryManager.library, 
{
    BinFileDownloader: function (str, fn ,type) {
        console.log("start download");
        var msg = Pointer_stringify(str);
        var fname = Pointer_stringify(fn);
        var contentType = Pointer_stringify(type);

        function fixBinary(bin) {
            var length = bin.length;
            var buf = new ArrayBuffer(length);
            var arr = new Uint8Array(buf);
            for (var i = 0; i < length; i++) {
                arr[i] = bin.charCodeAt(i);
            }
            console.log("恢复二进制完成");
            return buf;
        }
        //atob解码使用base64编码的字符串
        var binary = fixBinary(atob(msg));
        console.log("创建blog数据");
        var data = new Blob([binary], { type: 
文章来源:https://blog.csdn.net/love_c_s/article/details/135667178
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。