fakepath(fakepath路径解决)
一、关于javascript获取文件路径问题
首先你碰到的问题
你的做的所谓的音乐播放器,是选中文件后,获取文件路径,从而让 flash播放插件读取本地文件播放音乐。这个需要知道文件的实际路径。这个获取真实路径目前只有ie能做到(安全性能很差,至于最新的IE10,IE11还能否获取,不太清楚,已经抛弃ie很多年了)
原因:
而360(急速版)和火狐都不是ie内核的。属于现代浏览器。具体内核是啥东西不用去管。
这些内核浏览器出于安全考虑,不允许页面获取选取文件的真实路径,应该是类似一个 fakepath/文件名之类的东西。所以播放器没办法播放了。
解决:
因此,从实际运用过程来说,你开发的所谓的音乐播放器(本地播放器)是没有任何意义的。(除非你限制用户只能使用某个版本的ie)。那么要如何才能实际解决了呢?
如果仅是使用js是没有办法解决的。这不是前台浏览器能解决的问题。这个涉及到了后台服务器了。
那么做法如下:
将选择的音乐文件上传到后台服务器,后台服务器生成相应的文件地址(http://localhost....)之类的。
然后让flash加载播放。
二、火狐等浏览器上传文件是出现c:\\fakepath的解决办法
这种操作有不安全的因素所以目前新的浏览器都是禁止服务器通过客户端脚本获取完整路径的 IE那种你的解决也没有多大效果你不可能要求每个用户都按你的去设置
建议你不要去试图获取客户端的完整路径如果有什么原因必须要的话那可以查一下有没有插件支持