UNPKG

wsemi

Version:

A support package for web developer.

58 lines (44 loc) 1.24 kB
import get from 'lodash/get' import each from 'lodash/each' import cdbl from './cdbl.mjs' /** * 前端回傳Input元素所給予的檔案 * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/domGetFiles.test.mjs Github} * @memberOf wsemi * @param {Element} ele 輸入Element Input元素 * @param {Number} [sizelimit=1000] 輸入檔案大小上線,單位mb,預設為1000mb(約1g) * @returns {Array} 回傳檔案陣列 * @example * need test in browser * * let ele = document.querySelector('#id') * let r = domGetFiles(ele) * */ function domGetFiles(ele, sizelimit = 1000) { //check sizelimit = cdbl(sizelimit) if (sizelimit <= 0) { sizelimit = 1000 } //files let errs = {} let files = [] each(get(ele, 'files', []), function(file, k) { //size, 單位bytes let size = file.size //check if (size / 1024 / 1024 > sizelimit) { //轉mb //push err errs[k] = `檔案大小超過上限${sizelimit}mb` } //push file files.push(file) }) return { files, errs, } } export default domGetFiles