需求:将jsPDF生成的文件,转成file文件,再上传至服务器
putFile(PDF, fileName) {
// 用于测试 PDF.save(`${fileName}.pdf`)
let file = this.convertBase64ToFile(PDF.output("dataurlstring"), fileName);
putFileAttach({
file,
attachType: 'report_upload',
tableName: 'psa_order_final_report',
fieldName: 'id',
foreignKey: this.id,
})
},
//base64转file文件
convertBase64ToFile(urlData, filename) {
var arr = urlData.split('base64,');
var type = arr[0].match(/:(.*?);/)[1];
var fileExt = type.split('/')[1];
var bstr = atob(arr[1]);
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], filename + "." + fileExt, {
type: type
});
},