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 获取元素位置的快速方法 getBoundingClientRect()
Nov 26 Javascript
javascript中注册和移除事件的4种方式
Mar 20 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
Jun 14 Javascript
jquery自定义类似$.ajax()的方法实现代码
Aug 13 Javascript
我的Node.js学习之路(一)
Jul 06 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
Mar 26 Javascript
Javascript中String的常用方法实例分析
Jun 13 Javascript
TypeOf这些知识点你了解吗
Feb 21 Javascript
微信小程序 获取session_key和openid的实例
Aug 17 Javascript
JavaScript全屏和退出全屏事件总结(附代码)
Aug 17 Javascript
vue 自定义提示框(Toast)组件的实现代码
Aug 17 Javascript
vue cli4中mockjs在dev环境和build环境的配置详情
Apr 06 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/03/13 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
nodejs教程之入门
2014/11/21 NodeJs
整理AngularJS中的一些常用指令
2015/06/16 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
JavaScript中cookie工具函数封装的示例代码
2016/10/11 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
JS实现新建文件夹功能
2017/06/17 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
python文本数据处理学习笔记详解
2019/06/17 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
Python 支持向量机分类器的实现
2020/01/15 Python
java字符串格式化输出实例讲解
2021/01/06 Python
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
技术经理的自我评价范文
2013/12/03 职场文书
入党积极分子介绍信
2014/01/17 职场文书
餐饮收银员岗位职责
2014/02/07 职场文书
酒店端午节促销方案
2014/02/18 职场文书
公务员党员评议表自我鉴定
2014/09/14 职场文书
党员群众路线自我剖析材料
2014/10/06 职场文书
人身损害赔偿协议书
2016/03/22 职场文书
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android