当前位置:编程学习 > C#/ASP.NET >>

Chrome 中怎样用js获取fileupload文件路径

由于项目需要使用fileupload控件来上传文件,并获取上传文件的本地路径,在CS代码中使用的是fileupload1.PostedFile.FileName,结果发现使用Chrome浏览器得出来的只是文件名,不包含路径。现在用js已经获取到了IE和FireFox中的文件路径,但Chrome的不会写。哪位大侠指教一下 --------------------编程问答-------------------- 你测试了ie和ff的高版本了吗?

现在的标准安全做法是都不给你路径。 --------------------编程问答-------------------- 安全性问题
ie7+之后浏览器可以设置不允许上传路径了,只允许上传文件名
IE internet选项>安全>自定义级别>将上传带上路径勾选 --------------------编程问答-------------------- ie和ff的高版本测试过了,当然不是直接通过fileupload1.PostedFile.FileName得到的,而是经过js处理之后才能得到。现在问题是怎样通过js在前台得到Chrome中的上传文件路径 --------------------编程问答-------------------- 没用过这个浏览器 --------------------编程问答-------------------- 一般都只要求兼容IE和火狐的,还真少见要求兼容谷歌浏览器的 --------------------编程问答-------------------- --------------------编程问答-------------------- 不是现在都预测Chrome很快会成为市场占有率第三的浏览器吗?所以要是能兼容Chrome就好了 --------------------编程问答--------------------  哎, 大家还是接受不了  chrome 啊!   --------------------编程问答-------------------- 360 会帮助 chrome 开拓国内市场的 --------------------编程问答-------------------- 网上找的一个,感觉还可以
function showImg()
        {
            document.getElementById("imgImage").src = getPath(document.getElementById("fup"));
        }
        
        function getPath(obj)  
        {  
          if(obj)  
            {  
         
            if (window.navigator.userAgent.indexOf("MSIE")>=1)  
              {  
                obj.select();  
         
              return document.selection.createRange().text;  
              }  
         
            else if(window.navigator.userAgent.indexOf("Firefox")>=1)  
              {  
              if(obj.files)  
                {  
         
                return obj.files.item(0).getAsDataURL();  
                }  
              return obj.value;  
              }  
            return obj.value;  
            }  
        }   --------------------编程问答-------------------- 路过看看 --------------------编程问答-------------------- 真烦人,越来越多的浏览器。
什么兼容性,越来越麻烦了。
--------------------编程问答-------------------- 需要注意的是,楼主的需求并不是兼容性所带来的问题。

这是客观存在的、安全性的带来的问题。在非IE浏览器上这是不能实现的(除非强制客户端用户修改其设置)
此外,对于普通的 WEB 用户,你有了客户端路径实际上没有任何意义,你说呢
如果是你能左右的用户(比如你们同一个公司的),你可以要求他们只使用某一IE版本或者使用某种设置

更好更通用的办法是使用浏览器插件(IE中的 ActiveX 和其他浏览器中的 plugin)


关于浏览器的多样性,除了IE的低版本(<IE8)有各种莫名其妙的 BUG 之外,其他现代化的浏览器中所支持的特性实际上并不难把握。Chrome、Firefox 和 Opera 在绝大多数情况的表现是一致的,仅对 HTML5、CSS3等新特性的支持略有差异



--------------------编程问答-------------------- 是啊,现在轮到我遇到这个难题了


引用 12 楼  的回复:
真烦人,越来越多的浏览器。
什么兼容性,越来越麻烦了。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,