原生js FileReader对象实现图片上传本地预览效果
本文将为您展示如何使用原生JavaScript的FileReader对象实现图片上传并本地预览的效果。对于热爱编程的朋友们,这是一个值得参考的实例。
让我们在HTML文档中创建一个简单的界面。包含一个文件输入元素用于选择图片,以及一个用于显示图片的容器。
在CSS部分,我们设置了样式以使页面看起来更美观。然后,我们将使用JavaScript来处理图片上传和预览。
当用户在文件输入元素中选择一个或多个文件时,会触发`onchange`事件。在事件处理函数中,我们首先清空显示图片的容器,然后遍历选中的文件。对于每个文件,我们检查其是否为图片类型(jpg、png或jpeg)。如果是,我们使用`createObjectURL`函数创建该文件的URL,并将其设置为img元素的src属性,然后将img元素添加到显示图片的容器中。
以下是具体的代码实现:
```html
label { display: inline-block; width: 200px; height: 40px; border: 1px solid c; }
.ob { background: c; padding: 10px; }
.imgbox img { height: 100px; width: 100px; margin: 10px; }
// 获取文件url
function createObjectURL(blob) {
if (window.URL) {
return window.URL.createObjectURL(blob);
} else if (window.webkitURL) {
return window.webkitURL.createObjectURL(blob);
} else {
return null;
}
}
var box = document.querySelector(".imgbox"); // 显示图片box
var file = document.querySelector("file"); // file对象
var domFragment = document.createDocumentFragment(); // 文档流优化多次改动dom的碎片对象以提高性能
file.onchange = function(e) { // 当文件被选中时触发的事件处理函数
boxnerHTML = ""; // 清空上一次的图片显示效果
e = e || event; // 获取事件对象(兼容旧版浏览器)
var files = this.files; // 获取选中的文件列表(包括文件名、大小等信息)
编程语言
- 原生js FileReader对象实现图片上传本地预览效果
- freemarker判断对象是否为空的方法
- 微信小程序 flex实现导航实例详解
- Yii框架ACF(accessController)简单权限控制操作示例
- VS2015安装之后加装Sql server2014详细步骤
- asp清空application的方法
- 小程序rich-text组件如何改变内部img图片样式的方
- asp.net使用ODP即oracle连接方式的的防注入登录验证
- jQuery实现鼠标滑过图片移动特效
- .net 页面指定区域打印的方法
- 采用thinkphp自带方法生成静态html文件详解
- 简单通过settimeout看javascript的运行机制
- php创建图像具体步骤
- 浅谈vuepress 踩坑记
- 快速使用Bootstrap搭建传送带
- ES2015 正则表达式新增特性