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 设置元素相对于另一个元素的top值(实例代码)
Nov 06 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
Jan 15 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
Aug 10 Javascript
Angular设置title信息解决SEO方面存在问题
Aug 19 Javascript
JS弹性运动实现方法分析
Dec 15 Javascript
详解js数组的完全随机排列算法
Dec 16 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
Mar 09 Javascript
详解使用mpvue开发github小程序总结
Jul 25 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
Nov 05 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
May 09 Javascript
js实现幻灯片轮播图
Aug 14 Javascript
如何手写简易的 Vue Router
Oct 10 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
PHP4实际应用经验篇(7)
2006/10/09 PHP
PHP判断变量是否为0的方法
2014/02/08 PHP
ThinkPHP实现动态包含文件的方法
2014/11/29 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
javascript中CheckBox全选终极方案
2015/05/20 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
JS原生轮播图的简单实现(推荐)
2017/07/22 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
jQuery 移除事件的方法
2020/06/20 jQuery
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
[00:59]PWL开团时刻DAY7——我在赶
2020/11/06 DOTA
学习python类方法与对象方法
2016/03/15 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
Python 虚拟空间的使用代码详解
2019/06/10 Python
python提取xml里面的链接源码详解
2019/10/15 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
运动会稿件100字
2014/02/21 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
2015年统计员个人工作总结
2015/07/23 职场文书
MySQL5.7并行复制原理及实现
2021/06/03 MySQL
比较几种Redis集群方案
2021/06/21 Redis
Golang 实现 WebSockets 之创建 WebSockets
2022/04/24 Golang