HTML:
<input type="file" (change)="onChange($event)" value=" " id='fileUpload' > / / input會在頁面上渲染成一個按鈕,點擊按鈕,會打開本地文件夾, 重點在 type='file';
JS:
onChange(e){
console.log(e);
const file = e.srcElement.files[0]; // 獲取從上傳本地文件轉換的數據
const isJpgOrPng = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; // 判斷文件類型
if (!isJpgOrPng) {
this.message.error('You Can Only Upload Xlsx File!');
return;
}
const data = {
Base64: null,
FileName: file.name
};
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = (e) => {
data.Base64 = e.target['result']; // 獲取文件裝換后的Base64位文件
data.Base64 = data.Base64.split('base64,')[1]; // Base64位文件獲取時,不能直接傳給后台,要將base64文件開頭的前綴剔除,不然服務器會提示有中文字符,無法解析
this.apiService.post('XXX\XXX\X', data).subscribe(res => {
if ( res.Result ) {
this.message.create('success', 'Import Succeeded');
}
});
// console.log(e.target.result);
};
}
