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 相关文章推荐
我见过最全的个人js加解密功能页面
Dec 12 Javascript
表格 隔行换色升级版
Nov 07 Javascript
基于jquery的大众点评,分类导航实现代码
Aug 23 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
Jul 31 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
Apr 10 Javascript
JavaScript数组前面插入元素的方法
Apr 06 Javascript
JavaScript图片轮播代码分享
Jul 31 Javascript
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
Node.js使用supervisor进行开发中调试的方法
Mar 26 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
Jun 02 Javascript
JS 数组和对象的深拷贝操作示例
Jun 06 Javascript
vue数据更新UI不刷新显示的解决办法
Aug 06 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学习笔记之一
2011/01/17 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
PHP提高编程效率的20个要点
2015/09/23 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
2017/08/17 PHP
Laravel Eloquent分表方法并使用模型关联的实现
2019/11/25 PHP
JavaScript 类似flash效果的立体图片浏览器
2010/02/08 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
Javascript学习笔记之 函数篇(一) : 函数声明和函数表达式
2014/06/24 Javascript
JavaScript动态添加style节点的方法
2015/06/09 Javascript
javascript实现表单验证
2016/01/29 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
2016/08/05 Javascript
jQuery实现模拟flash头像裁切上传功能示例
2016/12/11 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
AngularJS基于factory创建自定义服务的方法详解
2017/05/25 Javascript
vue如何安装使用Quill富文本编辑器
2018/09/21 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
浅谈vue项目用到的mock数据接口的两种方式
2019/10/09 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
讲解Python中fileno()方法的使用
2015/05/24 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
无故旷工检讨书
2014/01/26 职场文书
夜不归宿检讨书
2014/02/25 职场文书
运动会演讲稿
2014/05/07 职场文书
乡镇平安建设汇报材料
2014/08/25 职场文书
复活读书笔记
2015/06/29 职场文书
预备党员入党感想
2015/08/10 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python