js打开文件上传对话框姿势

一般web上传文件都是使用<input type="file">,如果使用js代码来实现,就要模仿生成一个这个,然后再删除,其实也很简单,考虑经常用到,记录在此,方便大家使用,不用再造轮子了,节约用电
function uploadFile(accept: string, multiple = false) {
    return new Promise((resove, reject) => {
        const elementA = document.createElement('input');
        document.body.appendChild(elementA)
        elementA.type = "file"
        // elementA.accept= accept;//"image/*"  错误用法
        elementA.setAttribute('accept', accept); //正确用法

        if (multiple) {
            elementA.multiple = true;
        }
        elementA.style.display = 'none';
        elementA.onchange = () => {
            if (elementA.files && elementA.files.length > 0) {
                resove(elementA.files);
            }
        }
        elementA.click();
        document.body.removeChild(elementA);
    })

}

//调用姿势:
let files = await upFile("image/*",true)
大家喜欢点赞加关注
posted @ 2022-07-16 11:37  一窗昏晓  阅读(439)  评论(0)    收藏  举报