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禁用右键示例
Apr 28 Javascript
浅谈JS中String()与 .toString()的区别
Oct 20 Javascript
javascript设计模式之模块模式学习笔记
Feb 15 Javascript
jQuery实现锚点向下平滑滚动特效示例
Aug 29 jQuery
基于twbsPagination.js分页插件使用心得(分享)
Oct 21 Javascript
简化版的vue-router实现思路详解
Oct 19 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
Jan 27 Javascript
微信小程序自定义组件传值 页面和组件相互传数据操作示例
May 05 Javascript
vue axios重复点击取消上一次请求封装的方法
Jun 19 Javascript
vue实现拖拽的简单案例 不超出可视区域
Jul 25 Javascript
js实现搜索提示框效果
Sep 05 Javascript
浅谈JavaScript作用域
Dec 06 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调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
PHP中的self关键字详解
2019/06/23 PHP
Javascript hasOwnProperty 方法 &amp; in 关键字
2008/11/26 Javascript
从零开始学习jQuery (十) jQueryUI常用功能实战
2011/02/23 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
Javascript 遮罩层和加载效果代码
2013/08/01 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
js函数内变量的作用域分析
2015/01/12 Javascript
分享纯手写漂亮的表单验证
2015/11/19 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
Node.js利用Express实现用户注册登陆功能(推荐)
2020/10/26 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
[01:11:32]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
python利用微信公众号实现报警功能
2018/06/10 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
欧洲最古老的鞋厂:Peter Kaiser
2019/11/05 全球购物
机械电子工程专业推荐信范文
2013/11/20 职场文书
初中教师业务学习材料
2014/05/12 职场文书
安全施工标语
2014/06/07 职场文书
2014个人四风对照检查材料思想汇报
2014/09/18 职场文书
学校社团活动总结
2015/05/07 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis