base64转化为blob:
convertBase64UrlToBlob(urlData) { //base64转化为blob
var bytes = window.atob(urlData.split(',')[1]); //去掉url的头,并转换为byte
//处理异常,将ascii码小于0的转换为大于0
var ab = new ArrayBuffer(bytes.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < bytes.length; i++) {
ia[i] = bytes.charCodeAt(i);
}
return new Blob([ab], {
type: 'image/png'
});
},
测试:
<a-upload v-has="'rs:attachment:addHd'"
name="file"
:showUploadList="false"
:before-upload="beforeUpload"
:multiple="false"
:headers="tokenHeader"
:custom-request="upLoadFileFnGx"
@change="handleImportPdf">
<a-button type="primary" style="background-color: #128075;border-color:#128075" icon="import">上传高清</a-button>
</a-upload>
handleImportPdf(){
},
upLoadFileFnGx(data){
if(this.id == ''||this.id == 'xxxx'){
this.$message.error('请先上传原始文件')
return
}
this.activeKey = 2
this.upLoadFileFn(data)
},
upLoad
FileFn(data){
if(!this.model.personObject){
//this.model['personObject'] = {name:'无',sfzh:'无'}
this.$message.error('未获取到人员姓名、身份证号')
return
}
//文件名用原始的
if(!this.model.cldm){
this.model['cldm']= ''
//this.$message.error('未获取到材料代码')
// return
}
if(!this.model.slxh){
this.model['slxh']= ''
//this.$message.error('未获取到分类序号')
//return
}
const formData = new FormData()
//var dataBlob = new Blob([data])
formData.append('file', data.file)
formData.append('personName', this.model.personObject.name) //人员姓名
formData.append('sfzh', this.model.personObject.sfzh) //身份证号
uploadAction(this.uploadFileUrl, formData).then((res) => {
if (res.success) {
this.$message.success('文件上传成功')
this.handleReLoad(1)
}
})
},
头像测试
file blob base64;
const formData = new FormData();
formData.append('file',blob );
jQuery.ajax({
url: 'url',//根据实际修改
type:"POST",
data:formData,
processData:false,
contentType:false,
headers: {
'Authorization': 'Bearer ' + getToken(),
},
success:(data)=>{
res(data);
},
error:(data)=>{
rej(data);
}
});
function uploadAction(url,formdata){
return axios({
url: url,
data: formdata,
method:'post' ,
headers: {
'Content-Type': 'multipart/form-data', // 文件上传
},
})
}
https://blog.csdn.net/qq_38025939/article/details/110558577