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 相关文章推荐
IE6图片加载的一个BUG解决方法
Jul 13 Javascript
浅析javascript闭包 实例分析
Dec 25 Javascript
js判断复选框是否选中及选中个数的实现代码
May 30 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 Javascript
任意Json转成无序列表的方法示例
Dec 09 Javascript
bootstrap 表单验证使用方法
Jan 11 Javascript
vue实现简单的MVVM框架
Aug 05 Javascript
vue-router命名视图的使用讲解
Jan 19 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
May 22 Javascript
js简单的分页器插件代码实例
Sep 11 Javascript
vue 微信扫码登录(自定义样式)
Jan 06 Javascript
JS数组reduce()方法原理及使用技巧解析
Jul 14 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
php中hashtable实现示例分享
2014/02/13 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
canvas实现绘制吃豆鱼效果
2017/01/12 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
JS实现复制功能
2017/03/01 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
2017/04/26 jQuery
微信小程序的分类页面制作
2017/06/27 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
python基础教程之缩进介绍
2014/08/29 Python
浅谈Python中的闭包
2015/07/08 Python
Python中的一些陷阱与技巧小结
2015/07/10 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
在Django框架中编写Contact表单的教程
2015/07/17 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
Python的iOS自动化打包实例代码
2018/11/22 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
大学生求职计划书
2014/04/30 职场文书
《灰雀》教学反思
2016/02/19 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python