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 相关文章推荐
JXTree对象,读取外部xml文件数据,生成树的函数
Apr 02 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
Jan 11 Javascript
javascript:window.open弹出窗口的位置问题
Mar 18 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
Mar 27 Javascript
一个字符串反转函数可实现字符串倒序
Sep 15 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
Dec 17 Javascript
理解javascript对象继承
Apr 17 Javascript
AngularJs 延时器、计时器实例代码
Sep 16 Javascript
详解vue静态资源打包中的坑与解决方案
Feb 05 Javascript
vue2.0 elementUI制作面包屑导航栏
Feb 22 Javascript
ndm:NPM的桌面GUI应用程序
Oct 15 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
Oct 18 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下使用以下代码连接并测试
2008/04/09 PHP
注意:php5.4删除了session_unregister函数
2013/08/05 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
js传值 判断
2006/10/26 Javascript
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
JavaScript DOM学习第六章 表单实例
2010/02/19 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
react.js使用webpack搭配环境的入门教程
2017/08/14 Javascript
vue filters的使用详解
2018/06/11 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
[46:14]VGJ.T vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
单链表反转python实现代码示例
2018/02/08 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
2020/09/18 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
打架检讨书50字
2014/01/11 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
考试作弊被抓检讨书
2014/10/02 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript