js---将base64的数据转换为文件

js---将base64的数据转换为文件,第1张

/**

* 将base64的数据转换成一个Blob对象

* @param {Object} b64Data base64数据

* @param {Object} contentType 数据类型

* @param {Object} sliceSize 分片大小

*/

function b64toBlob(b64Data, contentType, sliceSize) {

    let b = b64Data.toString()

    b64Data = b.split(',')[1]

    var byteCharacters =atob(b64Data)

    var byteArrays = []

    for (let offset =0offset <byteCharacters.lengthoffset += sliceSize) {

        var slice = byteCharacters.slice(offset, offset + sliceSize)

        var byteNumbers =new Array(slice.length)

        for (let i =0i <slice.lengthi++) {

            byteNumbers[i] = slice.charCodeAt(i)

        }

        var byteArray =new Uint8Array(byteNumbers)

        byteArrays.push(byteArray)

    }

    var blob =new Blob(byteArrays, {type: contentType})

    return blob

}

/**

* 将Blob对象转换为file对象

* @param {Object} theBlob blob对象

* @param {Object} fileName 文件名称

*/

function blobToFile(theBlob,fileName) {

    theBlob.lastModifiedDate =new Date()

    theBlob.name = fileName

    return theBlob

}

// 创建一个reader

let reader =new FileReader()

// 将图片转成 base64 格式

reader.readAsDataURL(file)

/**

* 将base64转换为文件

* @param dataurl base64格式数据

* @param filename 文件名

* @param filetype 文件类型

* @returns {File} 二进制流文件

*/

function dataURLtoFile(dataurl,filename,filetype) {

    var arr = dataurl.split(","),

    bstr =atob(arr[1]),

    n = bstr.length,

    u8arr =new Uint8Array(n)

    while (n--) {

        u8arr[n] = bstr.charCodeAt(n)

    }

    return new File([u8arr], filename, {

        type: filetype

    })

}

将多个js文件合并为一个js文件的方法是使用查找拷贝粘贴法 :

1、打开网站主页,然后右击鼠标,选择“查看源码”。再按CTRL+F快捷键调出搜索框,在搜索框中输入

script type='text/javascript'

2、回车确定后。选择“高亮全部”,就能看见网页中有多少个外部javascript文件了。如下图,head中有两个外部JavaScript。一般在footer部分也能找到外部JavaScript。

3、合并多个js

(1)在网站根目录下面创建一个文件,命名为main.js。然后编辑main.js文件。

需要将外部JavaScript文件的内容全部粘贴到main.js文件中。

(2)按CTRL+A选择全部内容,然后CTRL+C复制全部内容,将内容粘贴到main.js文件中。再点击下一个JavaScript文件的 src 地址,依次它们的内容粘贴到main.js文件中。最后保存。

(3)引用main.js文件

main.js创建好以后,需要在wordpress主题文件夹的footer.php文件中引用main.js。footer.php文件的路径一般为/var/www/html/wp-content/themes/themename/footer.php。

服务端生成文件,将文件在服务端的地址返回给前端供前端下载。

2. 服务端直接通过文件流传递给前端,前端直接将导出的接口地址使用window.open打开。(单纯的导出功能)

3. 服务端将文件流传给前端,前端将文件流转为blob对象并下载。

4. 服务端将文件流存在公共变量中,post请求上传文件后,再根据文件导出来进行请求。(只局限于每次上传并导入 *** 作时,只有一个用户)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12099654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存