1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <!DOCTYPE html >
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>Insert title here</title>
  8. </head>
  9. <body>
  10. <script type="text/javascript">
  11. function fun()
  12. {
  13. alert();
  14. }
  15. function bao(str)
  16. {
  17. //alert(str);
  18. //int n=Integer.parseInt(str);
  19. var img="images/tx/";
  20. img+=str;
  21. img+=".gif";
  22. img = "images/map.png";
  23. //alert(img);
  24. // 取得img节点
  25. var imgNode=document.getElementById("picture");
  26.  
  27. // 修改img节点的src属性
  28. imgNode.setAttribute("src",img);
  29.  
  30. //oDiv.innerHTML="<img src=images/tx/2.gif width='80' height='80' border='1' />";
  31. //不能改变图片,src不能使变量!
  32. }
  33. function readFileFirefox(fileBrowser) {
  34. try {
  35. netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  36. }
  37. catch (e) {
  38. alert('无法访问本地文件,由于浏览器安全设置。为了克服这一点,请按照下列步骤操作:(1)在地址栏输入"about:config";(2) 右键点击并选择 New->Boolean; (3) 输入"signed.applets.codebase_principal_support" (不含引号)作为一个新的首选项的名称;(4) 点击OK并试着重新加载文件');
  39. return;
  40. }
  41. var fileName=fileBrowser.value; //这一步就能得到客户端完整路径。下面的是否判断的太复杂,还有下面得到ie的也很复杂。
  42. var file = Components.classes["@mozilla.org/file/local;1"]
  43. .createInstance(Components.interfaces.nsILocalFile);
  44. try {
  45. // Back slashes for windows
  46. file.initWithPath( fileName.replace(/\//g, "\\\\") );
  47. }
  48. catch(e) {
  49. if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;
  50. alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");
  51. return;
  52. }
  53. if ( file.exists() == false ) {
  54. alert("File '" + fileName + "' not found.");
  55. return;
  56. }
  57. return file.path;
  58. }
  59. //根据不同浏览器获取路径
  60. function getpic(){
  61. //判断浏览器
  62. var Sys = {};
  63. var ua = navigator.userAgent.toLowerCase();
  64. var s;
  65. (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[] :
  66. (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[] :
  67. (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[] :
  68. (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[] :
  69. (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[] : ;
  70. var file_url="";
  71. if(Sys.ie<="6.0"){
  72. //ie5.5,ie6.0
  73. file_url = document.getElementById("file").value;
  74. }else if(Sys.ie>="7.0"){
  75. //ie7,ie8
  76. var file = document.getElementById("file");
  77. file.select();
  78. file_url = document.selection.createRange().text;
  79. }else if(Sys.firefox){
  80. //fx
  81. //file_url = document.getElementById("file").files[0].getAsDataURL();//获取的路径为FF识别的加密字符串
  82. file_url = readFileFirefox(document.getElementById("file"));
  83. }
  84. alert(file_url);
  85. img = file_url;
  86. //alert(img);
  87. // 取得img节点
  88. var imgNode=document.getElementById("picture");
  89.  
  90. // 修改img节点的src属性
  91. imgNode.setAttribute("src",img);
  92.  
  93. }
  94. </script>
  95. <input type ="file" id = "file" onchange="getpic()" />
  96. <img id="picture"/>
  97.  
  98. </body>
  99. </html>
  1. <script type="text/javascript">
  2. //FX获取文件路径方法
  3. function readFileFirefox(fileBrowser) {
  4. try {
  5. netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  6. }
  7. catch (e) {
  8. alert('无法访问本地文件,由于浏览器安全设置。为了克服这一点,请按照下列步骤操作:(1)在地址栏输入"about:config";(2) 右键点击并选择 New->Boolean; (3) 输入"signed.applets.codebase_principal_support" (不含引号)作为一个新的首选项的名称;(4) 点击OK并试着重新加载文件');
  9. return;
  10. }
  11. var fileName=fileBrowser.value; //这一步就能得到客户端完整路径。下面的是否判断的太复杂,还有下面得到ie的也很复杂。
  12. var file = Components.classes["@mozilla.org/file/local;1"]
  13. .createInstance(Components.interfaces.nsILocalFile);
  14. try {
  15. // Back slashes for windows
  16. file.initWithPath( fileName.replace(/\//g, "\\\\") );
  17. }
  18. catch(e) {
  19. if (e.result!=Components.results.NS_ERROR_FILE_UNRECOGNIZED_PATH) throw e;
  20. alert("File '" + fileName + "' cannot be loaded: relative paths are not allowed. Please provide an absolute path to this file.");
  21. return;
  22. }
  23. if ( file.exists() == false ) {
  24. alert("File '" + fileName + "' not found.");
  25. return;
  26. }
  27. return file.path;
  28. }
  29. //根据不同浏览器获取路径
  30. function getvl(){
  31. //判断浏览器
  32. var Sys = {};
  33. var ua = navigator.userAgent.toLowerCase();
  34. var s;
  35. (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[] :
  36. (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[] :
  37. (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[] :
  38. (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[] :
  39. (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[] : ;
  40. var file_url="";
  41. if(Sys.ie<="6.0"){
  42. //ie5.5,ie6.0
  43. file_url = document.getElementById("file").value;
  44. }else if(Sys.ie>="7.0"){
  45. //ie7,ie8
  46. var file = document.getElementById("file");
  47. file.select();
  48. file_url = document.selection.createRange().text;
  49. }else if(Sys.firefox){
  50. //fx
  51. //file_url = document.getElementById("file").files[0].getAsDataURL();//获取的路径为FF识别的加密字符串
  52. file_url = readFileFirefox(document.getElementById("file"));
  53. }
  54. //alert(file_url);
  55. document.getElementById("text").innerHTML="获取文件域完整路径为:"+file_url;
  56. }
  57. </script>
  58. <h1>JS获取文件域完整路径的方法,兼容不同浏览器</h1>
  59. <div id="text" style="color:#f00;"></div>
  60. <input type="file" id="file" />
  61. <input name="" type="button" value="获取" onClick="getvl();">

js获取file控件的完整路径(上传图片预览)的更多相关文章

  1. html file控件选择文件后立即预览 js实现

    //上传图片后立即预览 file对象,图片容器id function showImg(fileObj,imgId) { var file=fileObj.files[0]; var r = new F ...

  2. IE9获取file控件的本地文件路径

    最近发现,在IE9下,公司网站的本地图片预览都无法正常显示,经过测试发现,原因在于IE9下无法获取file控件的文件路径. 以前的代码如下: var strPic = fileImg.value; i ...

  3. 使用js获取checkbox控件在GridView中的第几行

    这次的知识点是如何使用js获取checkbox控件所在的是第几行!!! 我们可以使用 JavaScript 中自带的 rowIndex 和 cellIndex 来获取行和列的键值 (从0开始) 这两个 ...

  4. 怎么清除file控件的文件路径

    还记得上次做一个文件上传,后来测试告诉我说,如果我要是不选择文件了呢?该怎么办?我说:简单啊,做一个取消按钮不就完事了吗!然后我就想一个file空间做一个取消是多么简单的事,用js处理可是想怎么样就怎 ...

  5. JS获取用户控件中的子控件Id

    用户控件 <asp:HiddenField ID="hfGradeId" runat="server" /> <asp:HiddenField ...

  6. JS 获取Button控件的提交类型

    <script type="text/javascript"> <!--获取button控件的类型---> function isAuditOrCancel ...

  7. JS获取服务器端控件ID

    很多时候我们需要在JS中对服务器端控件进行一些简单处理,但是这个时候没有必要回发到服务器,让服务器去处理,这个时候就又要用到JS了 那么怎么去获取这个服务器端控件呢?我们知道服务器最终返回到用户界面的 ...

  8. JS 获取FileUpload1控件地址

    function openList() { //判断浏览器类型 var isIE = (document.all) ? true : false; ); ); ); var path = " ...

  9. Asp.Net 获取FileUpload控件的文件路径、文件名、扩展名

    string fileNameNo = Path.GetFileName(FileUploadImg.PostedFile.FileName); //获取文件名和扩展名string Directory ...

随机推荐

  1. ansible笔记(6):常用模块之命令类模块

    ansible笔记():常用模块之命令类模块 command模块 command模块可以帮助我们在远程主机上执行命令 注意:使用command模块在远程主机中执行命令时,不会经过远程主机的shell处 ...

  2. Kali Linux2018 上安装open-vm-tools实现虚拟机交互

    最新的kali linux2018已经不再支持原有的vmwaretools,即使安装了也不能实现主机与客户机之间的交互(比如从主机复制文件到客户机).安装open-vm-tools替代vm tools ...

  3. 前端 ----关于DOM的操作的相关实例

    关于DOM操作的相关案例   1.模态框案例 需求: 打开网页时有一个普通的按钮,点击当前按钮显示一个背景图,中心并弹出一个弹出框,点击X的时候会关闭当前的模态框 代码如下: <!DOCTYPE ...

  4. java操作redis之按照关键字删除缓存数据

    思路: 1.链接redis数据库,连接成功2.js.del(key),按照指定的key进行删除,封装删除方法3.js.keys("*"),获取所有键keys的集合,对set集合进行 ...

  5. HSSFWorkbook操作excel读写

    //exlel读操作 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; Ite ...

  6. C# 如何获取自定义的config中节点的值,并修改节点的值

    现定义一个方法 DIYConfigHelper.cs using System; using System.Xml; using System.Configuration; using System. ...

  7. Python装饰器执行顺序详解

    探究多个装饰器执行顺序 装饰器是Python用于封装函数或代码的工具,网上可以搜到很多文章可以学习,我在这里要讨论的是多个装饰器执行顺序的一个迷思. 疑问 大部分涉及多个装饰器装饰的函数调用顺序时都会 ...

  8. Codeforces 1132G Greedy Subsequences [线段树]

    洛谷 Codeforces 看到题解那么少就来发一篇吧-- 思路 看完题目一脸懵逼,感觉无从下手. 莫名其妙地想到笛卡尔树,但笛卡尔树好像并没有太大作用. 考虑把笛卡尔树改一下:每个点的父亲设为它的右 ...

  9. 密码正确 mysql无法登陆 red7.3 上安装mysql5.6后登录报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passswd :yes)

    集群需要mysql存储元数据,就在前几天还运行好好的,突然就进不去了......还是太菜,遇到的bug少. 引起这种故障的原因有很多......第一个坑比较多,大部分用户也就用第一个就可以解决问题,我 ...

  10. 使用open live writer客户端写博客

    注:Windows Live Writer 已经停止更新,建议安装 Open Live Writer,下载地址: http://openlivewriter.org/ 使用open live writ ...