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 相关文章推荐
excel操作之Add Data to a Spreadsheet Cell
Jun 12 Javascript
前后台交互过程中json格式如何解析以及如何生成
Dec 26 Javascript
DOM基础教程之使用DOM
Jan 19 Javascript
微信小程序学习之数据处理详解
Jul 05 Javascript
iscroll.js滚动加载实例详解
Jul 18 Javascript
Express使用html模板的详细代码
Sep 18 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
Sep 04 Javascript
js实现通过开始结束控制的计时器
Feb 25 Javascript
Vue中computed、methods与watch的区别总结
Apr 10 Javascript
node 标准输入流和输出流代码实例
Sep 19 Javascript
简单了解three.js 着色器材质
Aug 03 Javascript
JavaScript常用工具函数库汇总
Sep 17 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
4月1日重磅发布!《星际争霸II》6.0.0版本更新
2020/04/09 星际争霸
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
Javascript/Jquery——简单定时器的多种实现方法
2013/07/03 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
jQuery实现的向下图文信息滚动效果
2015/05/03 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
JS实现表单多文件上传样式美化支持选中文件后删除相关项
2016/09/30 Javascript
Angular工具方法学习
2016/12/26 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
jQuery复合事件用法示例
2017/06/10 jQuery
vue操作dom元素的3种方法示例
2020/09/20 Javascript
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
Python实现的十进制小数与二进制小数相互转换功能
2017/10/12 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
Python3.5文件读与写操作经典实例详解
2019/05/01 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
Python实现图片添加文字
2019/11/26 Python
Django ORM 查询表中某列字段值的方法
2020/04/30 Python
python异常处理之try finally不报错的原因
2020/05/18 Python
PyTorch 中的傅里叶卷积实现示例
2020/12/11 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
西班牙灯具网上商店:Lampara.es
2018/06/05 全球购物
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
超市实习总结自我鉴定
2013/09/19 职场文书
经济与贸易专业应届生求职信
2013/11/19 职场文书
家长会学生家长演讲稿
2013/12/29 职场文书
上课睡觉检讨书
2014/01/28 职场文书
旅游文化节策划方案
2014/06/06 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
原告代理词范文
2015/05/25 职场文书