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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
window.open关于浏览器拦截问题分析及解决方法
Feb 05 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
May 07 Javascript
jQuery中before()方法用法实例
Dec 25 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
Apr 29 Javascript
javascript事件冒泡简单示例
Jun 20 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
Dec 27 Javascript
JS实现移动端实时监听输入框变化的实例代码
Apr 12 Javascript
JavaScript简单计算人的年龄示例
Apr 15 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
Jun 29 Javascript
微信小程序使用template标签实现五星评分功能
Nov 03 Javascript
vue 开发企业微信整合案例分析
Dec 02 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程序
2012/02/04 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
2014/06/22 PHP
深入解析WordPress中加载模板的get_template_part函数
2016/01/11 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
json2.js的初步学习与了解
2011/10/06 Javascript
js常用代码段收集
2011/10/28 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
AngularJS开发教程之控制器之间的通信方法分析
2016/12/25 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
vue 中swiper的使用教程
2018/05/22 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
Vue 监听列表item渲染事件方法
2018/09/06 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
2019/09/30 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
深入了解JS之作用域和闭包
2020/06/16 Javascript
使用Python实现一个简单的项目监控
2015/03/31 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
使用python3构建文件传输的方法
2019/02/13 Python
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
和解协议书
2014/04/16 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL
如何基于python实现单目三维重建详解
2022/06/25 Python