createObjectURL方法实现本地图片预览


Posted in Javascript onSeptember 30, 2019

ie6 可以直接显示本本地路径的图片 如: <img src="file://c:/3.jpg" />  ~~~网上都说ie7就不支持这种文件系统路径的url,但测试 xp ie8还是可以的

ie8+ alphaImageLoader滤镜方式加载本地路径的图片

chrome, firefox, 用dataUrl  或 createObjectURL方法实现

例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 <title>get file input full path</title>
 <script type="text/javascript" language='javascript'>
 function getFullPath(obj) {
  var newPreview = document.getElementById("img");
  if (obj) {
  //ie
  if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
   obj.select();
   newPreview.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);";
   newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = document.selection.createRange().text;

   return;
  }
  //firefox
  else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
   if (obj.files) {
   newPreview.src = window.URL.createObjectURL(obj.files.item(0));

   return;
   }
   newPreview.src = obj.value;

   return;
  }
  newPreview.src = obj.value;

  return;
  }
 }
 </script>
</head>
<body>
 <input type="file" onchange="getFullPath(this);" />
 <img id="img" alt="" style="width:200px; height:200px;" src="你自己的透明图片"/>
</body>
</html>

然后 我们来看看 window.URL.createObjectURL() 到底是什么

window.URL.createObjectURL

概述

创建一个新的对象URL,该对象URL可以代表某一个指定的File对象或Blob对象.

语法

objectURL = window.URL.createObjectURL(blob);

  • blob参数是一个File对象或者Blob对象.
  • objectURL是生成的对象URL.通过这个URL,可以获取到所指定文件的完整内容.

示例

查看使用对象URL显示图片.

附注

在每次调用createObjectURL()方 法的时候,都会创建一个新的对象URL,即使参数中的这个对象已经有了自己的对象URL.在你不需要这些对象URL的时候,你应该通过调用 window.URL.revokeObjectURL()方法来释放它们所占用的内容.虽然即使你不主动释放它们,浏览 器也会在当前文档被卸载的时候替你释放,不过,考虑到更好的性能和更少的内存占用,你应该在安全的时候主动施放它们.

浏览器兼容性

createObjectURL方法实现本地图片预览

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
dess中一个简单的多路委托的实现
Jul 20 Javascript
Javascript 键盘事件的组合使用实现代码
May 04 Javascript
json原理分析及实例介绍
Nov 29 Javascript
jQuery模拟超链接点击效果代码
Apr 21 Javascript
JS下载文件|无刷新下载文件示例代码
Apr 17 Javascript
jQuery插件jPaginate实现无刷新分页
May 04 Javascript
AngularJS中的指令全面解析(必看)
May 20 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
Jan 20 Javascript
Node.js数据库操作之查询MySQL数据库(二)
Mar 04 Javascript
JQuery实现图片轮播效果
May 08 jQuery
基于datepicker定义自己的angular时间组件的示例
Mar 14 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
Sep 26 Javascript
微信小程序实现分享商品海报功能
Sep 30 #Javascript
Bootstrap实现模态框效果
Sep 30 #Javascript
HTML+JavaScript实现扫雷小游戏
Sep 30 #Javascript
React+Redux实现简单的待办事项列表ToDoList
Sep 29 #Javascript
JS回调函数简单易懂的入门实例分析
Sep 29 #Javascript
在vue中根据光标的显示与消失实现下拉列表
Sep 29 #Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
Sep 29 #Javascript
You might like
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
JS 弹出层 定位至屏幕居中示例
2014/05/21 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
nodejs基础之buffer缓冲区用法分析
2018/12/26 NodeJs
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
浅谈JS和jQuery的区别
2019/03/27 jQuery
Vue.js实现备忘录功能
2019/06/26 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
js实现随机圆与矩形功能
2020/10/29 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
2020/11/05 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
python基础知识小结之集合
2015/11/25 Python
解决Python pandas plot输出图形中显示中文乱码问题
2018/12/12 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
Shell编程面试题
2016/05/29 面试题
演讲稿祖国在我心中
2014/05/04 职场文书
党的群众路线教育实践活动个人整改措施落实情况
2014/11/04 职场文书
2015年房产经纪人工作总结
2015/05/15 职场文书
检讨书之工作不认真
2019/08/14 职场文书
Flask搭建一个API服务器的步骤
2021/05/28 Python
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL