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 相关文章推荐
TopList标签和JavaScript结合两例
Aug 12 Javascript
ExtJs之带图片的下拉列表框插件
Mar 04 Javascript
如何使用json在前后台进行数据传输实例介绍
Apr 11 Javascript
window.onload与$(document).ready()的区别分析
May 30 Javascript
浅谈Javascript线程及定时机制
Jul 02 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
Jan 18 Javascript
jQuery中delegate()方法的用法详解
Oct 13 Javascript
微信小程序 弹框和模态框实现代码
Mar 10 Javascript
JS简单获取当前日期和农历日期的方法
Apr 17 Javascript
基于JavaScript实现表格滚动分页
Nov 22 Javascript
Vue 事件处理操作实例详解
Mar 05 Javascript
微信小程序vant弹窗组件的实现方式
Feb 21 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中关于普通表单多文件上传的处理方法
2011/03/25 PHP
php获取网页上所有链接的方法
2015/04/03 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
PHP判断一个数组是另一个数组子集的方法详解
2017/07/31 PHP
Javascript中Eval函数的使用
2010/03/23 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
2015/09/14 Javascript
探讨JavaScript语句的执行过程
2016/01/28 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
解决vue项目打包上服务器显示404错误,本地没出错的问题
2020/11/03 Javascript
JavaScript实现前端倒计时效果
2021/02/09 Javascript
python类型强制转换long to int的代码
2013/02/10 Python
用python实现面向对像的ASP程序实例
2014/11/10 Python
Python魔术方法详解
2015/02/14 Python
详解Python中的Cookie模块使用
2015/07/06 Python
利用Python如何生成随机密码
2016/04/20 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
Django 浅谈根据配置生成SQL语句的问题
2018/05/29 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
公司优秀员工获奖感言
2014/08/14 职场文书
工作感言一句话
2015/08/01 职场文书
实验室安全管理制度
2015/08/05 职场文书
人事任命书范本
2015/09/21 职场文书
JavaScript中isPrototypeOf函数
2021/11/07 Javascript
Java 异步任务计算FutureTask
2022/04/28 Java/Android
JS前端使用Canvas快速实现手势解锁特效
2022/09/23 Javascript