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 相关文章推荐
jQuery 全选效果实现代码
Mar 23 Javascript
JavaScript 基于原型的对象(创建、调用)
Oct 16 Javascript
浅析tr的隐藏和显示问题
Mar 05 Javascript
jQuery修改class属性和CSS样式整理
Jan 30 Javascript
JS中Location使用详解
May 12 Javascript
微信小程序顶部导航栏滑动tab效果
Jan 28 Javascript
微信小程序访问豆瓣电影api的实现方法
Mar 31 Javascript
微信小程序Flex布局用法深入浅出分析
Apr 25 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
Oct 27 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
Jun 02 Javascript
JavaScript如何使用插值实现图像渐变
Jun 28 Javascript
Javascript webpack动态import
Apr 19 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
jQuery Ajax使用实例
2015/04/16 Javascript
浅谈javascript中for in 和 for each in的区别
2015/04/23 Javascript
js实现微信分享代码
2020/10/11 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
javascript表单正则应用
2017/02/04 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
Python实现爬取逐浪小说的方法
2015/07/07 Python
Python+Wordpress制作小说站
2017/04/14 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
Python使用Flask-SQLAlchemy连接数据库操作示例
2018/08/31 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
对python 命令的-u参数详解
2018/12/03 Python
Django 对IP访问频率进行限制的例子
2019/08/30 Python
python绘制雷达图实例讲解
2021/01/03 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
吉力贝官方网站:Jelly Belly
2019/03/11 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
小学假期安全广播稿
2014/09/28 职场文书
2015年药店工作总结
2015/04/20 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers