js 打开资源管理器(经典范例:纯前端选择并预览图片)

简介: js 打开资源管理器(经典范例:纯前端选择并预览图片)

效果预览

完整代码范例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>纯前端选择并预览图片</title>
</head>

<body>
    <button onclick="chooseImg()">选择图片</button>
    <div style="padding-top: 10px;">
        <img id="imgBox" width="100"></img>
    </div>

    <script>
        function chooseImg() {
            let input = document.createElement("input");
            input.setAttribute("type", "file");
            // 支持多选
            input.setAttribute("multiple", "multiple");
            input.accept = "image/*";
            input.addEventListener("change", (e) => {
                let file = e.path[0].files[0];
                // 浏览器兼容性处理(有的浏览器仅存在 Window.URL)
                const windowURL = window.URL || window.webkitURL;
                // createObjectURL 函数会根据传入的参数创建一个指向该参数对象的URL
                let filePath = windowURL.createObjectURL(file);
                document.getElementById("imgBox").setAttribute('src', filePath)
            });
            input.click();
        }
    </script>
</body>
</html>

核心技术解析

  • 通过创建文件输入框节点,触发打开资源管理器
  • 通过 createObjectURL 函数将选择的图片对象转换为 URL ,方便前端渲染显示图片
目录
相关文章
|
8天前
|
JavaScript 前端开发 API
详解队列在前端的应用,深剖JS中的事件循环Eventloop,再了解微任务和宏任务
该文章详细讲解了队列数据结构在前端开发中的应用,并深入探讨了JavaScript的事件循环机制,区分了宏任务和微任务的执行顺序及其对前端性能的影响。
|
6天前
|
JavaScript 前端开发 小程序
一小时入门Vue.js前端开发
本文是作者关于Vue.js前端开发的快速入门教程,包括结果展示、参考链接、注意事项以及常见问题的解决方法。文章提供了Vue.js的基础使用介绍,如何安装和使用cnpm,以及如何解决命令行中遇到的一些常见问题。
一小时入门Vue.js前端开发
|
9天前
|
前端开发
前端之图片操作
前端之图片操作
|
6天前
|
SQL 安全 数据库
用html+javascript打造公文一键排版系统2:显示源码/显示预览、清除格式
用html+javascript打造公文一键排版系统2:显示源码/显示预览、清除格式
|
8天前
|
JavaScript 前端开发
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
|
8天前
|
JavaScript 前端开发 开发者
深入浅出 Vue.js:构建响应式前端应用
Vue.js 是一个流行的前端框架,以其简洁、高效和易学著称。它采用响应式和组件化设计,简化了交互式用户界面的构建。本文详细介绍 Vue.js 的核心概念、基本用法及如何构建响应式前端应用,包括实例、模板、响应式数据和组件等关键要素,并介绍了项目结构、Vue CLI、路由管理和状态管理等内容,帮助开发者高效地开发现代化前端应用。
|
8天前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
Web App开发 JavaScript 前端开发
JavaScript 图片3D展示空间(3DRoom)
一般的平面效果,通过改变水平和垂直坐标就能实现,再加上深度,就能在视觉上的产生3D(三维)的效果。 程序就是模拟这样一个三维空间,里面的图片会根据三维坐标显示在这个空间。 很久以前就看过一个3DRoom效果,是用复杂的计算实现的。
1235 0
|
Web App开发 JavaScript 前端开发
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
78 2
下一篇
无影云桌面