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 相关文章推荐
javascript 强制刷新页面的实现代码
Dec 13 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
Dec 28 Javascript
js导出格式化的excel 实例方法
Jul 17 Javascript
二叉树的非递归后序遍历算法实例详解
Feb 07 Javascript
查询json的数据结构的8种方式简介
Mar 10 Javascript
浅谈JavaScript的事件
Feb 27 Javascript
详解Bootstrap各式各样的按钮(推荐)
Dec 13 Javascript
jquery实现百叶窗效果
Jan 12 Javascript
JS从非数组对象转数组的方法小结
Mar 26 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
Apr 24 Javascript
Openlayers显示地理位置坐标的方法
Sep 28 Javascript
JS一分钟在github+Jekyll的博客中添加访问量功能的实现
Apr 03 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利用ZipArchive类操作文件的实例
2020/01/21 PHP
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
jQuery中的select操作详解
2016/11/29 Javascript
jQuery Validate验证框架详解(推荐)
2016/12/17 Javascript
Bootstrap 填充Json数据的实例代码
2017/01/11 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
2017/06/29 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
[01:01:52]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第二场 1月9日
2021/03/11 DOTA
python实现的一个p2p文件传输实例
2014/06/04 Python
Python中的并发编程实例
2014/07/07 Python
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
python绘制高斯曲线
2021/02/19 Python
橄榄树药房:OLIVEDA
2019/09/01 全球购物
G-Form护具官方网站:美国运动保护装备
2019/09/04 全球购物
环境工程大学生自荐信
2013/10/21 职场文书
技术总监个人的自我评价范文
2013/12/18 职场文书
学徒工职责
2014/03/06 职场文书
房屋转让协议书
2014/04/11 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
新学期标语
2014/06/30 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
警告通知
2015/04/25 职场文书
社区法制宣传月活动总结
2015/05/07 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
运动会新闻报道稿
2015/07/22 职场文书
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android
阿里云日志过滤器配置日志服务
2022/04/09 Servers