zoukankan      html  css  js  c++  java
  • js获取input file完整路径的方法

    function getPath()
    {
      //判断浏览器
      var Sys = {};
      var obj = document.getElementById("headImg");
      var viewer = document.getElementById("viewImg");
      var ua = navigator.userAgent.toLowerCase(); 
      var s; 
      (s = ua.match(/msie ([d.]+)/)) ? Sys.ie = s[1] : 
      (s = ua.match(/firefox/([d.]+)/)) ? Sys.firefox = s[1] : 
      (s = ua.match(/chrome/([d.]+)/)) ? Sys.chrome = s[1] : 
      (s = ua.match(/opera.([d.]+)/)) ? Sys.opera = s[1] : 
      (s = ua.match(/version/([d.]+).*safari/)) ? Sys.safari = s[1] : 0;
      var path="";
      if(Sys.ie<="6.0"){
        //ie5.5,ie6.0
        viewer.src = obj.value;
      }else if(Sys.ie>="7.0"){
        //ie7,ie8
        obj.select();
        //加上这一句防止报告安全问题
        obj.blur();
        viewer.src = document.selection.createRange().text;
      }else if(Sys.firefox){
        if (obj.files) {
            var accept = ["image/png","image/jpeg","image/jpg","image/gif"];
            if (accept.indexOf(obj.files[0].type) > -1) {
                var reader = new FileReader();
                reader.readAsDataURL(obj.files[0]);
                //延迟一会等待文件读取完毕
                var t = setTimeout(function(){
                viewer.src = reader.result;
                clearTimeout(t);
                },100)
            }
        }
        else
        {
            viewer.src = obj.value;
        }
      }else if(Sys.chrome){
        viewer.src = obj.value;
      }
    }

    <form>
    <input type="file" id="headImg" />
    <input id="btnOk" type="button" value="ok" onclick="getPath()"/>
    <img src="http://blog.163.com/zhchf_52@yeah/blog/" alt="view" id="viewImg" />
    </form>

    另一种:

    var obj = document.getElementById("headImg");
      var viewer = document.getElementById("viewImg");

    obj.onchange=function(){
    viewImg.value=getFullPath(this);
    }
    function getFullPath(obj){ 
    if(obj) 
     //ie 
     if (window.navigator.userAgent.indexOf("MSIE")>=1) 
     { 
     obj.select(); 
     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; 
     
     
    参考资料:http://blog.sina.com.cn/s/blog_771875550100xjxh.html
    http://blog.163.com/zhchf_52@yeah/blog/static/678229742013119113558963/
  • 相关阅读:
    eclipse注释模板__自动生成方法注释
    java HashMap--统计其中有相同value的key的个数
    java synchronized 详解
    进程间通信-共享内存
    辅导-计算机编程方面
    gnu make
    适应c++ 新特性
    tomcat服务器
    springmvc笔记
    Idea使用SVN教程
  • 原文地址:https://www.cnblogs.com/byayn/p/3958482.html
Copyright © 2011-2022 走看看