// 'data:application/apollo-zstd;version=1.1.1;base64,' 注意一下,后端返回的base64
export function base64ToBlob(base64: string): Blob {
if (!base64) {
return;
}
const mimeString = base64.split(',')[0]
.split(':')[1]
.split(';')[0];
const byteString = atob(base64.split(',')[1]);
const arrayBuffer = new ArrayBuffer(byteString.length);
const intArray = new Uint8Array(arrayBuffer);
for (let i = 0; i < byteString.length; i++) {
intArray[i] = byteString.charCodeAt(i);
}
return new Blob([intArray], {type: mimeString});
}
public dataURLtoFile(dataurl: any, filename: any): any {
const arr = dataurl.split(',');
const mime = arr[0].match(/:(.*?);/)[1];
const bstr = atob(arr[1]);
let n = bstr.length;
const u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename, { type: mime });
}
const blob = new Blob([this.file.nativeElement.files[0]], { type: '' });
const formate = new FormData(); // 通过append(key,value)来添加数据
this.file.nativeElement.value = '';// 用于多次上传,要清空之前的值
const aBlob = new Blob( array, options );
export function downLoadFile(data: ArrayBuffer, fileNmame: string, type: string, fileType: string = 'xls'): void {
const blob = new Blob([data], { type });
const url = window.URL.createObjectURL(blob);
const eleLink = document.createElement('a');
eleLink.download = `${fileNmame}.${fileType}`;
eleLink.style.display = 'none';
eleLink.href = url;
// 触发点击
document.body.appendChild(eleLink);
eleLink.click();
// 然后移除
document.body.removeChild(eleLink);
}