1、上傳文件事件,對文件名稱、文件大小進行后續校驗處理
handleFileChange = event => { const file = event.target.files && event.target.files[0] console.log(event.target.files) console.log(event.target.files[0]) }
2、校驗文件大小,不能超過10M
if (Math.ceil(file.size / 1024) > 2048 * 5) { Message.error('上傳excel文件超過10M') return }
(文件大小轉為kb,並向上取整,如果文件大小超過10M,返回false;使用Math.ceil()向上取整,避免做除法后四舍五入的值,比原值小,導致小於10M)
3、校驗文件類型
const fileName = file.name const type = /\.(xlsx|xls)$/.exec(file.name) if (!type) { Message.error('請選擇后綴為xls或xlsx的excel文件!') return }
注:exec()與test()使用規則相同,reg.exec(str)