当前位置:首页 > H5 > 正文内容

js解压OSS数据,加速网站打开速度

高老师4个月前 (01-10)H5282

网站文章压缩储存OSS,请求地址使用鉴权地址,节省储存和带宽,文件也可以存放网盘,每100万个文章合并到1个文件即可。

代码例子

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pako/2.0.4/pako.min.js"></script>
    <script>
        $(document).ready(function () {
            $.ajax({
                url: 'https://59-47-225-42.pd1.cjjd19.com:30443/download-cdn.cjjd19.com/123-582/7c7a974f/1819092776-0/7c7a974f888e5709de800b9600f2e646/c-m67?v=5&t=1736562066&s=17365620665c838f06f98e16374ffef167248cdd95&r=0AMBDF&bzc=2&bzs=313831393039323737363a35323035323432313a35373930383434343935353a30&filename=1.mdb&x-mf-biz-cid=4ea854b3-4d0f-4449-a74a-4236ff5ee20f-47df1e&auto_redirect=0&cache_type=1&xmfcid=2952b5b4-12e1-4a91-9162-4cf9107650b1-0-50111d3b1',
                method: 'GET',
                headers: {
                    'Range': 'bytes=57908416664-57908444954' // 设置请求头,传递Range参数
                },
                xhrFields: {
                    responseType: 'arraybuffer'  // 设置为 arraybuffer
                },
                success: function (data) {
                    // 将 ArrayBuffer 转为 Uint8Array
                    const compressedData = new Uint8Array(data);

                    // 解压数据
                    const decompressedData = pako.inflate(compressedData, {to: 'string'});
                    console.log("Decompressed Data:", decompressedData);

                    // 转换为 JSON 对象
                    try {
                        const jsonData = JSON.parse(decompressedData.trim());
                        $('#post-Content').html(jsonData['content']);
                        console.log("Parsed JSON Data:", jsonData);
                    } catch (error) {
                        console.error("JSON Parsing Error:", error);
                    }
                },
                error: function (xhr, status, error) {
                    console.error("Error:", error);
                }
            });
        });
    </script>


扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/874.html

分享给朋友:
返回列表

上一篇:刷题app题型界面前端设计备份

没有最新的文章了...

“js解压OSS数据,加速网站打开速度” 的相关文章

阻止表单提交刷新页面

阻止表单提交刷新页面

<form action="save.php" method="post"   target="nm_iframe">      &nbs...

使用js让手机震动,js实现手机震动

使用js让手机震动,js实现手机震动

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head>  ...

javascript原型基础知识

javascript原型基础知识

//我们创建每个函数默认都有一个prototype(原型)属性,这个属性是一个对象 //1.我是普通的构造方法,我的属性叫实例属性,我的方法叫实例方法 /* function Box(name,age){ this.name=name; this.age=age; this.run...

rem布局原理,rem自适应布局,rem布局快速方案

rem布局原理,rem自适应布局,rem布局快速方案

rem原理和简介(1).字体单位单位的值是根据html根元素大小而定,同样可以作为宽度高度单位(2).适配原理将px替换为rem,动态修改html的font-size适配(3).单位1rem=16px,why? F12中1rem在computed中font-size属性中会显示为font-size:...

es6模板字符串

es6模板字符串

在es5的时候变量只能通过+号拼接,es6种允许将变量放在大括号之中。有点类似php和c#对字符串的操作。    <script type="text/javascript">    &n...

setTimeout在循环执行顺序的思考

setTimeout在循环执行顺序的思考

朋友面试时候遇到的问题,我天真的认为会输出0,1,2,但是实际一直只输出2,2,2。通过了解才执行Js自身是单线程的环境,for循环本身是同步代码,setTimeout是异步代码。单线程的语言不能同时做2件事情,必须做出选择。于是Js引擎决定了当我执行完成同步的代码,再去执行异步的代码。当执行异步的...