关于前端:一张base64图片格式的图片将其转化成blob然后上传到服务器

34次阅读

共计 720 个字符,预计需要花费 2 分钟才能阅读完成。

一张 base64 图片格式的图片,将其转化成 blob 而后上传到服务器

需要形容

一张 base64 图片格式的图片,将其转化成 blob 而后上传到服务器,后盾跟接管表单文件上传一样的形式去解决改图片

实现

// url 示意 base64 的字符串,name 示意文件名,附加到 blob 上的那么、上
uploadFile(url, name) {
            // 以逗号划分类型和内容
            let arr = url.split(',')
            // 截取类型
            let mime = arr[0].match(/:(.*);/)[1]
            // 将 base64 格局的字符转回本来的字符格局
            let bstr = window.atob(arr[1])
            let n = bstr.length,
            u8arr = new Uint8Array(n)
            while (n--) {
                // 将 ascll 码值贮存到无符号数组中
                u8arr[n] = bstr.charCodeAt(n)
            }
            // 转化 blob
            let blob = new Blob([u8arr], {type: mime})
            blob.lastModifiedDate = new Date()
            blob.name = name
            // 结构 FormData
            let formData = new FormData();
            formData.append('time', moment().format('YYYYMMDD'))
            formData.append('file', blob)
            console.log(blob)
              // 发送申请
            stationData.uploadImg(formData).then(res => {console.log('aasad', res)
            })
        },

总结

这里是通过 blob 能够接管一个 ArrayBuffer 的参数的模式去创立一个 blob

正文完
 0