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 相关文章推荐
5款Javascript颜色选择器
Oct 25 Javascript
JQuery 常用操作代码
Mar 14 Javascript
Javascript Ajax异步读取RSS文档具体实现
Dec 12 Javascript
js处理表格对table进行修饰
May 26 Javascript
12行javascript代码绘制一个八卦图
Apr 02 Javascript
Boostrap入门准备之border box
May 09 Javascript
利用JavaScript阻止表单提交的两种方法
Aug 11 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
Aug 17 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
Aug 14 Javascript
详解webpack打包后如何调试的方法步骤
Nov 07 Javascript
jQuery 移除事件的方法
Jun 20 jQuery
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
Sep 04 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+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
vuejs父子组件之间数据交互详解
2017/08/09 Javascript
通俗易懂地解释JS中的闭包
2017/10/23 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
微信小程序 image组件遇到的问题
2019/05/28 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
python base64 decode incorrect padding错误解决方法
2015/01/08 Python
Python中asyncore异步模块的用法及实现httpclient的实例
2016/06/28 Python
Python实现的快速排序算法详解
2017/08/01 Python
python连接数据库的方法
2017/10/19 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
浅谈Python中的全局锁(GIL)问题
2019/01/11 Python
用python实现刷点击率的示例代码
2019/02/21 Python
2019 Python最新面试题及答案16道题
2019/04/11 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
Laravel框架表单验证格式化输出的方法
2019/09/25 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
实习单位接收函模板
2014/01/10 职场文书
财务负责人任命书
2014/06/06 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
校长一岗双责责任书
2015/05/09 职场文书
vue的项目如何打包上线
2022/04/13 Vue.js
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript