admin管理员组

文章数量:1589660

由于近期需要做一个文件的升级包的上传功能,为了升级包的安全用到了md5问价加密的方法,亲测有效,首先:

npm install --save spark-md5

完成之后package.json会有这个

由于在项目中,我使用的这个方法不是特别多,所以没有去做单独的去注册原型,只是在组件中引入了一下,如果大家需要可以去注册一下,调用起来比较方便,下面就是具体的加密操作了:

import SparkMD5 from 'spark-md5'

    beforeUpload(file) {
            this.fileList = []
            this.fileList = [file]
            // console.log(this.fileList)
            if (!this.aliyunOssToken.access_key) return message.warning('获取凭证中!')
            if (this.fileList.length === 0) return message.warning('请选择数据!')
            this.form.file_size = this.fileList[0].size
            this.form.file_name = this.fileList[0].name
            const url = 'daj_cloud/' + this.fileList[0].name
            const form = new FormData()
            // form.append('folderName', 'daj_cloud')
            form.append('key', 'daj_cloud/' + this.fileList[0].name) // 存储在oss的文件路径
            form.append('OSSAccessKeyId', this.aliyunOssToken.access_key) // accessKeyId
            form.append('policy', this.aliyunOssToken.policy) // policy
            form.append('Signature', this.aliyunOssToken.signature) // 签名
            // 如果是base64文件,那么直接把base64字符串转成blob对象进行上传就可以了
            form.append('file', this.fileList[0])
            form.append('success_action_status', 200) // 成功后返回的操作码
            let fileReader = new FileReader(); //文件读取
            let dataFile = this.fileList[0];
            // console.log(dataFile.size, dataFile)
            const _this = this
            let spark = new SparkMD5(); //new MD5实例
            fileReader.readAsBinaryString(dataFile); //读取MD5文件
            fileReader.onload = function (e) { //读取MD5文件的方法
                spark.appendBinary(e.target.result);
                let md5 = spark.end()
                // console.log(md5)
                _this.form.file_md5 = md5 //获取对应的MD5码,然后可以传给后端去做验证使用
            };
            this.onImportEmit(form, url)

            return false
        },

获取MD5的加密编码,具体操作都在上面的了,希望对大家有用

本文标签: 操作文件