UNPKG

press-ui

Version:

简单、易用的跨端组件库,兼容 Vue2 和 Vue3,同时支持 uni-app和普通 Vue 项目

46 lines (38 loc) 1.11 kB
export function chooseImageInH5() { return new Promise((resolve) => { const input = document.createElement('input'); input.style.visibility = 'hidden'; input.type = 'file'; // 添加file类型 input.accept = 'image/*'; input.style.height = '100%'; input.style.width = '100%'; input.id = 'inputfile'; document.body.appendChild(input); input.onchange = (event) => { const file = event.target.files[0]; onSelectFile(file, input).then((res) => { resolve(res); }); }; input.click(); }); } function onSelectFile(file) { return new Promise((resolve) => { const reader = new FileReader(); reader.onload = (e) => { let data; if (typeof e.target.result === 'object') { // 把 Array Buffer 转化为 blob 如果是 base64不需要 data = window.URL.createObjectURL(new Blob([e.target.result])); } else { data = e.target.result; } resolve(data); }; // 转化为 base64 // reader.readAsDataURL(file) // 转化为 blob reader.readAsArrayBuffer(file); }); }