2020-01-18 解决方案►JavaScript 原生JS实现限制input上传文件格式、大小及清空 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647// 监听文件上传change事件设置背景图片scrollContent.addEventListener("change", function (e) { // 获取input file标签 let setBackGround = document.querySelector("#setBackGround"); // 判断触发change的是否为input file if (e.target == setBackGround) { let file = setBackGround.files[0]; let reader = new FileReader(); reader.onload = function (e) { let data = e.target.result; // 'data:image/jpeg;base64,/9j/4AAQSk...(base64编码)...' let func = () => { body.style.backgroundImage = `url('${data}')`; } // 将文件大小转换为MB格式 let size = (file.size / (1024 * 1024)).toFixed(2) + "MB"; // 判断文件类型是否为jpeg/png if (file.type !== 'image/jpeg' && file.type !== 'image/png') { // 此段为封装的消息提示函数,可换成alert openMessage({ title: "提示", type: "error", content: `不是有效的图片文件!` }) // 清空input file的value值 setBackGround.value = ""; return; } //判断文件大小是否大于3MB if (file.size > 3145728) { // 此段为封装的消息提示函数,可换成alert openMessage({ title: "提示", type: "error", content: `当前文件大小为${size},建议不超过3MB!` }) // 清空input file的value值 setBackGround.value = ""; return; } // 此段为设置本地存储及更换样式文件,可忽略 setStorageBefore(func, "bg", data); changeSkin("skin", skin_Transparent) }; // 以DataURL的形式读取文件: reader.readAsDataURL(file); }}) 或者请看下面的文章: https://blog.virs.xyz/?p=213 前一篇 搜索框实现各大搜索引擎智能提示功能(jsonp跨域实现自动补全搜索建议) 后一篇 VSCode常用功能性插件推荐(附带链接)