javascript结合fileReader 实现上传图片


Posted in Javascript onJanuary 30, 2015

关于File API这里就不详细解释了,小伙伴们自行度娘吧,来我们就要利用文件句柄来读取文件内容,这是通过FileReader来实现的,通过FileReader接口,我们可以异步地将文件内容加载到内存中,赋予某个js变量。

function getImgSrc(target, callback) {

    if (window.FileReader) {

        var oPreviewImg = null, oFReader = new window.FileReader();

        oFReader.onload = function (oFREvent) {

            oPreviewImg = new Image();

            var type = target.files[0].type.split("/")[1];

            var src = oFREvent.target.result;

            oPreviewImg.src = src;

            if (typeof callback == "function") {

                callback(oPreviewImg, target, type, src);

            }

            return oPreviewImg.src;

        };

        return (function () {

            var aFiles = target.files;

            if (aFiles.length === 0) {

                return;

            }

            if (!IsImgType(aFiles[0].type)) {

                alert("You must select a valid image file!");

                return;

            }

            if (aFiles[0].size > 1024 * 1024) {

                target.value = "";

                alert('Please upload image file size less than 1M.');

                return;

            }

            oFReader.readAsDataURL(aFiles[0]);

        })();

    }

    if (navigator.appName === "Microsoft Internet Explorer") {

        return (function () {

            document.getElementById("imagePreview").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = target.value;

        })();

    }

}

以上就是javascript结合fileReader 实现上传图片的关键性代码了,小伙伴们喜欢吗?

Javascript 相关文章推荐
初窥JQuery-Jquery简介 入门了解篇
Nov 25 Javascript
将文本输入框内容加入表中的js代码
Aug 18 Javascript
jquery 判断div show的状态实例
Dec 03 Javascript
node.js(express)中使用Jcrop进行图片剪切上传功能
Apr 21 Javascript
es6学习笔记之Async函数基本教程
May 11 Javascript
Vue Spa切换页面时更改标题的实例代码
Jul 15 Javascript
JS中利用swiper实现3d翻转幻灯片实例代码
Aug 25 Javascript
ng-repeat指令在迭代对象时的去重方法
Oct 02 Javascript
JavaScript 性能提升之路(推荐)
Apr 10 Javascript
vue递归组件实战之简单树形控件实例代码
Aug 27 Javascript
js实现随机div颜色位置 类似满天星效果
Oct 24 Javascript
vue引入静态js文件的方法
Jun 20 Javascript
使用JavaScript+canvas实现图片裁剪
Jan 30 #Javascript
js判断手机和pc端选择不同执行事件的方法
Jan 30 #Javascript
项目中常用的JS方法整理
Jan 30 #Javascript
jQuery实现带滚动线条导航效果的方法
Jan 30 #Javascript
jquery实现拖拽调整Div大小
Jan 30 #Javascript
jQuery中$.click()无效问题分析
Jan 29 #Javascript
Eclipse配置Javascript开发环境图文教程
Jan 29 #Javascript
You might like
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
php 执行系统命令的方法
2009/07/07 PHP
PHP 基本语法格式
2009/12/15 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
php实现带读写分离功能的MySQL类完整实例
2016/07/28 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
微信小程序 选择器(时间,日期,地区)实例详解
2016/11/16 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
IScroll5实现下拉刷新上拉加载的功能实例
2017/08/11 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
PyQt 线程类 QThread使用详解
2017/07/16 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
python打包成so文件过程解析
2019/09/28 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
解决在keras中使用model.save()函数保存模型失败的问题
2020/05/21 Python
HTML5 video 上传预览图片视频如何设置、预览视频某秒的海报帧
2018/08/28 HTML / CSS
Reebonz中国官网:新加坡奢侈品购物网站
2017/03/17 全球购物
TCP/IP的分层模型
2013/10/27 面试题
自主招生自荐信指南
2014/02/04 职场文书
幼儿园中班教学反思
2014/02/10 职场文书
一句话工作感言
2014/03/01 职场文书
中等生评语大全
2014/05/04 职场文书
作风建设年度心得体会
2014/10/29 职场文书
元旦联欢晚会主持词
2015/07/01 职场文书
升职感谢领导的话语及升职感谢信
2019/06/24 职场文书
全网非常详细的pytest配置文件
2022/07/15 Python