一、处理base64数据
base64toFile(base64Data) {
//去掉base64的头部信息,并转换为byte
let split = base64Data.split(',')
let bytes = window.atob(split[1])
//获取文件类型
let fileType = split[0].match(/:(.*?)
//处理异常,将ascii码小于0的转换为大于0
let ab = new ArrayBuffer(bytes.length)
let ia = new Uint8Array(ab)
for (let i = 0
ia[i] = bytes.charCodeAt(i)
}
return new Blob([ab], { type: fileType})
},
二、处理axios上传
import axios from 'axios';
let instance = axios.create({
headers: { 'Content-Type': 'multipart/form-data' },
baseURL: '',
});
export default instance;
三、上传
import instance from '@/api/fileUpload.js';
let formData = new FormData();
let file = base64toFile(base64);
formData.append('file', file);
formData.append('id', '1');
instance.post('/File/Upload',formData);