<input type="file" id="fileBrowser" name="fileBrowser" size="50" onchange="readFile(this)" />

<script type="text/javascript"> 
function readFile(fileBrowser) { 
    if (navigator.userAgent.indexOf("MSIE")!=-1) 
        readFileIE(fileBrowser); 
    else if (navigator.userAgent.indexOf("Firefox")!=-1 || navigator.userAgent.indexOf("Mozilla")!=-1) 
        readFileFirefox(fileBrowser); 
    else 
        alert("Not IE or Firefox (userAgent=" + navigator.userAgent + ")"); 
}

function readFileFirefox(fileBrowser) { //FF浏览器
    try { 
        netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
    }  
    catch (e) { 
        alert('路径错误!'); 
        return; 
    }

var fileName=fileBrowser.value; 
    var file = Components.classes["@mozilla.org/file/local;1"] 
        .createInstance(Components.interfaces.nsILocalFile); 
    try { 
        file.initWithPath( fileName.replace(/\//g, "\\\\") ); 
    } 
    catch(e) { 
        if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e; 
        return; 
    }

if ( file.exists() == false ) { 
        alert("File '" + fileName + "' not found."); 
        return; 
    } 
    alert(file.path); 
}

function readFileIE(fileBrowser) { //IE浏览器,可直接获取上传文件路径
    alert(document.getElementById("fileBrowser").value);

</script>

JS获取上传文件的绝对路径,兼容IE和FF的更多相关文章

  1. js获取上传文件的绝对路径

    在html中    <input type="file" id="importFile" />    <input type="bu ...

  2. struts2 JS获取上传文件的绝对路径,兼容IE和FF

    因为file控件上传失败后会自动清空,所以使用文本框来保存上传路径,而且在不同的浏览器下,控件的样式也需要兼容.下面是自己用到的实例 // 初始化判断浏览器的版本,根据版本的不同使用不同的样式func ...

  3. Atitit.js获取上传文件全路径

    Atitit.js获取上传文件全路径 1. 默认的value只能获取文件名..安全原因.. 1 2. Firefox浏览器的读取 1 3. Html5 的file api 2 4. 解决方法::使用a ...

  4. js获取上传文件内容(未完待续)

    js 获取上传文件的字节数及内容 <div> 上传文件 : <input type="file" name = "file" id = &qu ...

  5. js获取上传文件内容

    js 获取上传文件的字节数及内容 <div> 上传文件 : <input type="file" name = "file" id = &qu ...

  6. js 获取上传文件的字节数及内容

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. JS 获取上传文件的内容

    <div> 上传文件 : <input type="file" name = "file" id = "fileId" / ...

  8. JS获取上传文件的名称、格式、大小

    <input id="File1" type="file" onchange="checkFile(this)" /> 方式一) ...

  9. js获取上传文件个数 以及名称

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. JavaScript基础知识之——Location 对象详解

    属性 描述 location.hash 设置或取得 URL 中的锚 location.host 设置或取得 URL 中主机(包括端口号) location.hostname 设置或取得 URL 中的主 ...

  2. SQL数据库基本操作语句

    一.数据库及数据库表定义 1.创建基本表 create table <表名> (<列名><数据类型>[列级完整性约束条件]                      ...

  3. XMLHttpRequest cannot load – Origin is not allowed by Access-Control-Allow-Origin.

    报错:跨域  XMLHttpRequest cannot load http://localhost:8080/yxt-admin/admin/store. No 'Access-Control-Al ...

  4. C#_加密解密

    一.MD5加密解密 1.加密 public static string ToMd5(string clearString) { Byte[] clearBytes = System.Text.Enco ...

  5. 探究requestDisallowInterceptTouchEvent失效的原因

    昨天在用requestDisallowInterceptTouchEvent的时候,发如今设置了requestDisallowInterceptTouchEvent(true)之后,父View的onI ...

  6. semantic-ui使用gulp执行build-css报错

    1.执行gulp build-css报错 [09:40:49] Starting 'build-css'... Building CSS Potentially unhandled rejection ...

  7. _CRT_NONSTDC…与_CRT_SECURE…

    目录 第1章说明    1 1.1 _CRT_NONSTDC_NO_WARNINGS    1 1.2 _CRT_NON_CONFORMING_SWPRINTFS    2 1.3 _CRT_SECU ...

  8. java 多线程1

    进程: 线程: 多线程: 假象:只是CPU在做快速的切换 多线程的好处: 1.解决了一个进程里面可以同时运行多个任务(执行路径) 2.提高资源利用率,而不是效率. 多线程的弊端: 1.降低了一个进程里 ...

  9. OneProxy与其它数据库中间件的对比

    OneProxy 优点 性能 缺点 闭源,被商业公司掌控,到时候随别人蹂躏 可维护性极差,缺乏友好的出错信息,光维护这个环节就被他人掌控 定价不明 有没有这样的公司? 大到10wtps,但是没人能理解 ...

  10. eclipse 新建 maven 项目 步骤(初级入门新手)

    安装 maven(百度) 和在eclipse 中svn(上一篇) 修改 maven 本地仓库 eclipse 属性 maven--> installations-->添加新的 自定义安装的 ...