<!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 language='javascript'>
function getFullPath(obj)
{
if(obj)
{
//ie
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
obj.select(); alert(document.selection.createRange().text);
return document.selection.createRange().text;

}
//firefox
else if(window.navigator.userAgent.indexOf("Firefox")>=1)
{
if(obj.files)
{
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
}
</script>
</head>
<body>
<input type="file" onchange="document.getElementById('img').src=getFullPath(this);" />
<img id="img" />
</body>
</html>

~~~~以上的方法在 双击打开网页 或者 自己的电脑作为web服务器的情况 没问题,到时放到实际远程web服务器中 会因为浏览器的安全限制 IE还是不能获得用户所选文件在用户文件系统的绝对路径,较为好一点的方法 是滤镜加载图片 但是不够完美 如下:

----------------------------------------

<script type="text/javascript">
var himgCH; //头像在320视窗中的计算高度
$(function(){
var supportFileReader;
try{ if( (typeof FileReader) =='function') supportFileReader = true;}catch(e){ supportFileReader=false; }
var isie = navigator.userAgent.toLowerCase().indexOf('msie')>=0;
$('#himgfile').change(function(){
if(navigator.userAgent.toLowerCase().indexOf('msie')<0 || supportFileReader ){ //(!ie or ie10) chrome , firefox
var file = this.files[0]; //用户选择的文件
if(! /image\/\w+/.test(file.type) ){ //file.type 文件的mime值
alert("请选择图像文件");
}else{

var reader = new FileReader();
reader.readAsDataURL(file);//用户选择的文件readAsDataURL
reader.onload = function(){
// $('#pic4up').attr('src',this.result);
$('#p_up').attr('src', this.result);
$('#p_prev').attr('src', this.result);
var img = new Image();
img.src = this.result;
setTimeout(function(){ //不能马上获得img的计算高度 适当延时
// console.log(img.width);
$('#scale').val( img.width/320 );

himgCH = $('#p_up').height();
$('#p_up').height(himgCH);
$('#p_up').imgAreaSelect({aspectRatio:'1:1', onSelectChange: preview});
},100 );

}
}
}else{ //ie 6 7 8
//alert('using ie8- , file value:' + this.value);
// $('#pic4up')[0].src=this.value;
this.select();
// $('#pic4up')[0].src = document.selection.createRange().text;
var img = new Image(); //alert('choose file path:' + document.selection.createRange().text );
var fpath = document.selection.createRange().text; //获取文件域的路径
// $('#p_prev')[0].src = img.src = $('#p_up')[0].src = fpath; //文件本地路径 赋值给img.src 实现预览

//AlphaImageLoader实现预览 关键点: AlpahaImageLoader src=本地路径 加载的是客户端文件系统的本地路径 AlphaImageLoader加载的图片位于 容器背景和内容之间
img.src = fpath; //获取图片的原始尺寸
$('#p_prev,#p_up').each(function(i, ele, eles){
this.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);";
this.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = fpath;
if(this.id == 'p_prev') this.src = 'images/blank320_320.gif';
});

setTimeout(function(){ //不能马上获得img的计算高度 适当延时
// alert(img.width);
$('#scale').val(img.width/320);
himgCH = $('#p_up').height();
$('#p_up').height(himgCH);
$('#p_up').imgAreaSelect({aspectRatio:'1:1', onSelectChange: preview});
},100 );
}

//$('.iMask').removeClass('hide');
$('.btn_disable').addClass('btn_enable');
});

IE读取并显示本地图像文件的方法的更多相关文章

  1. 读取input:file的路径并显示本地图片的方法

    <!doctype html> <html> <head> <meta content="text/html; charset=UTF-8" ...

  2. 转:FileReader详解与实例---读取并显示图像文件

    ~~~针对需要读取本地图像,并立即显示在浏览器的情况,由于chrome firefox出于安全限制,input file并不返回文件的真实路径,经测试IE6/7/8都会返回真实路径,所以chrome, ...

  3. Python3:读取配置dbconfig.ini(含有中文)显示乱码的解决方法

    Python3:读取配置dbconfig.ini(含有中文)显示乱码的解决方法 一.原因 Python 3 中虽有encoding 参数,但是对于有BOM(如Windows下用记事本指定为utf-8) ...

  4. Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果

    版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/1873 ...

  5. js 读取外部的本地json文件

    Javascript 读取外部的本地json文件 方案1 运行本地web服务器,提供文件服务 方案2 1.data = '[{"name" : "Ashwin" ...

  6. php中读取文件内容的几种方法。(file_get_contents:将文件内容读入一个字符串)

    php中读取文件内容的几种方法.(file_get_contents:将文件内容读入一个字符串) 一.总结 php中读取文件内容的几种方法(file_get_contents:将文件内容读入一个字符串 ...

  7. java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

     java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...

  8. Winform实现Shp-栅格图形文件的读取与显示(外加shp转WKB格式存入oracle)附源码

    前言:上学期GIS空间数据库课程设计时,老师让实现Shp-栅格图形文件的读取与显示,外加shp转WKB格式存入oracle,不使用第三方类库,花了一天时间在网上找了一些资料,实现了一个简单的栅格图形文 ...

  9. 在VC中显示和处理图片的方法

    落鹤生 发布于 2011-10-21 09:12 点击:344次  来自:blog.csdn.net/mengaim_cn 几种用GDI画图的方法介绍. TAG: GDI   法1:这个方法其实用的是 ...

随机推荐

  1. 利用 XPath-jQuery 集锦手册在 XPath 和 jQuery 之间做选择

    利用 XPath-jQuery 集锦手册在 XPath 和 jQuery 之间做选择 利用 XPath-jQuery 集锦手册在 XPath 和 jQuery 之间做选择

  2. ExpandableListView(一)替换系统默认的箭头

    很多朋友可能在android开发中,用过ExpandableListView这个组件,这个组件功能强大,比传统的ListView有好多优势.然而在开发中,我相信有好多人,包括我个人都会遇到下面的一些问 ...

  3. 如果DataGrid的checkbox出现点一个另外自动点另一个现象

    如果DataGrid的checkbox出现点一个另外自动点另一个现象: 取消(EnableRowVirtualization)这个选项就可以正常了(关闭虚拟UI):

  4. 使用wininet向FTP服务器发送文件

    .h #pragma once #include <windows.h> #include <tchar.h> #include <string> #include ...

  5. Problem A: Artificial Intelligence?

    Description Physics teachers in high school often think that problems given as text are more demandi ...

  6. BZOJ 1485: [HNOI2009]有趣的数列( catalan数 )

    打个表找一下规律可以发现...就是卡特兰数...卡特兰数可以用组合数计算.对于这道题,ans(n) = C(n, 2n) / (n+1) , 分解质因数去算就可以了... -------------- ...

  7. js基础 1.简单js 语法 关键字 保留字 变量

    简单js JavaScript 是一个松散性的语言 对象属性却不想c中的结构体或者c++ 和java的对象, 对象继承机制 使用原型的prototype(原型链),js的分为三部分ECMAScript ...

  8. 神奇的魔法数字0x61c88647

    来源JDK源码,产生的数字分布很均匀 用法代码如下. # -*- coding: utf-8 -*- HASH_INCREMENT = 0x61c88647 def magic_hash(n): fo ...

  9. java.lang.VerifyError: Inconsistent stackmap frames at branch target

    -XX:-UseSplitVerifier解决. 附带网址:http://stackoverflow.com/questions/12774672/java-7-inconsistent-stackm ...

  10. [置顶] java 枚举

    1. 什么是枚举?枚举就是用来存放一组固定的常量. 2. 枚举有什么作用?一些程序在运行时,它需要的数据不能是任意的,而必须是一定范围内的值:例如性别  男和女. public enum Gender ...