关于javascript获取文件路径问题
今天试着用javascript来做一个音乐播放器,其它都做的差不多了,可惜到选择MP3文件的时候卡住了,不能获取到文件路径。<inputtype="file">只有在IE...
今天试着用javascript来做一个音乐播放器,其它都做的差不多了,可惜到选择MP3文件的时候卡住了,不能获取到文件路径。<input type="file">只有在IE中才能获取到路径,试了360和火狐都只能看到文件名,在网上找了 很多资料,都是只能IE实现,有没有大神可以解决,求教!
展开
1个回答
展开全部
首先你碰到的问题描述:
你的做的所谓的音乐播放器,是选中文件后,获取文件路径,从而让 flash播放插件 读取本地文件播放音乐。这个需要知道文件的实际路径。 这个获取真实路径目前只有ie能做到(安全性能很差,至于最新的IE10,IE11还能否获取,不太清楚,已经抛弃ie很多年了)
原因:
而360(急速版) 和火狐都不是ie内核的。属于现代浏览器。具体内核是啥东西 不用去管。
这些内核浏览器出于安全考虑,不允许页面获取 选取文件的真实路径, 应该是类似一个 fakepath/文件名 之类的东西。 所以 播放器没办法播放了。
解决:
因此,从实际运用过程来说,你开发的所谓的音乐播放器(本地播放器) 是没有任何意义的。(除非你限制用户只能使用某个版本的ie)。 那么要如何才能实际解决了呢?
如果仅是使用js 是没有办法解决的。 这不是前台浏览器能解决的问题。这个涉及到了后台服务器了。
那么做法如下:
将选择的音乐文件 上传到后台服务器,后台服务器生成相应的文件地址(http://localhost....)之类的。
然后让flash加载播放。
你的做的所谓的音乐播放器,是选中文件后,获取文件路径,从而让 flash播放插件 读取本地文件播放音乐。这个需要知道文件的实际路径。 这个获取真实路径目前只有ie能做到(安全性能很差,至于最新的IE10,IE11还能否获取,不太清楚,已经抛弃ie很多年了)
原因:
而360(急速版) 和火狐都不是ie内核的。属于现代浏览器。具体内核是啥东西 不用去管。
这些内核浏览器出于安全考虑,不允许页面获取 选取文件的真实路径, 应该是类似一个 fakepath/文件名 之类的东西。 所以 播放器没办法播放了。
解决:
因此,从实际运用过程来说,你开发的所谓的音乐播放器(本地播放器) 是没有任何意义的。(除非你限制用户只能使用某个版本的ie)。 那么要如何才能实际解决了呢?
如果仅是使用js 是没有办法解决的。 这不是前台浏览器能解决的问题。这个涉及到了后台服务器了。
那么做法如下:
将选择的音乐文件 上传到后台服务器,后台服务器生成相应的文件地址(http://localhost....)之类的。
然后让flash加载播放。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询