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 相关文章推荐
javascript 类定义的4种方法
Sep 12 Javascript
javascript检测浏览器flash版本的实现代码
Dec 06 Javascript
没有document.getElementByName方法
Aug 19 Javascript
jQuery实现表格颜色交替显示的方法
Mar 09 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
Feb 15 Javascript
tab栏切换原理
Mar 22 Javascript
vue打包后显示空白正确处理方法
Nov 01 Javascript
Angularjs中的$apply及优化使用详解
Jul 02 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
Oct 23 Javascript
解决layui表格的表头不滚动的问题
Sep 04 Javascript
使用vue实现一个电子签名组件的示例代码
Jan 06 Javascript
如何正确解决VuePress本地访问出现资源报错404的问题
Dec 03 Vue.js
微信小程序实现分享商品海报功能
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中遇到的时区问题解决方法
2015/07/23 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
2012/12/17 Javascript
jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
2013/01/11 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
bootstrap table使用入门基本用法
2017/05/24 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
2018/05/17 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
Node.js学习之内置模块fs用法示例
2020/01/22 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
python网络编程学习笔记(六):Web客户端访问
2014/06/09 Python
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
Django卸载之后重新安装的方法
2017/03/15 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
python中的decorator的作用详解
2018/07/26 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
python画微信表情符的实例代码
2019/10/09 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
应届生船舶驾驶求职信
2013/10/19 职场文书
年度献血先进个人事迹材料
2014/02/14 职场文书
声乐专业大学生职业生涯规划书:理想的未来需要自己去打造
2014/09/20 职场文书