一张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。