- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我显示一个文件打开框,以便用户可以在他们的计算机上选择一个文件:
<input type="file" id="upload_input"/>
但是当我得到用户在 Javascript 中选择的文件时(见下面的代码),我认为这是“安全的”,因为 javascript 在客户端执行——我得到的只是文件,而不是完整路径——< em>尽管 input type=file 始终为您提供的完整路径和文件名出现在“浏览”按钮旁边的字段中。
换句话说,用户选择一个位于他机器上的文件,例如 c:/aFolder/thefile.rtf。然后在选择该文件后,完整路径出现在“浏览”按钮旁边的字段中:c:/aFolder/thefile.rtf
然而,当我以编程方式检索该字段的值时,整个路径被剥离,我所拥有的只是文件名:
filename = document.getElementById('upload_input').value;
alert("The selected file name is " + filename);
如果您无法以编程方式获取完整路径,为什么 input type=file 控件还要费心向用户显示完整路径?毕竟这一切都发生在客户端,这并不是服务器上的完整路径。
另一个问题:我使用上面的文件名并构建了该文件的完全限定路径,仅是为了让我的 JWplayer 代码正常工作。我在这里为开发创建的完整路径是临时的。
换句话说,当我得到上面的文件名时,我会这样做:
vidFname = ("c:/xampp/htdocs/theWebsite/aFolder/" + filename);
alert("The full path is: " + vidFname);
然后我尝试在 Jwplayer 中播放视频:
playlist = { file: vidFname };
theJwPlayer().load(playlist);
theJwPlayer().play(true);
但是 Jwplayer 给我“权限被拒绝或找不到文件”。
为了让它工作,我必须改变以下内容:
vidFname = ("http://localhost/theWebsite/aFolder/" + filename);
alert("The full path is: " + vidFname);
playlist = { file: vidFname };
theJwPlayer().load(playlist);
theJwPlayer().play(true);
通过更改我的本地主机的路径,上面的代码可以工作——视频加载并成功播放。
注意:我不认为这是一个“文件夹权限”问题,因为我可以在我的计算机上使用不同的 .FLV 播放器(独立)应用程序在同一位置播放完全相同的文件。因此,不是我的 c:/xampp 中的文件夹权限导致 Jwplayer 说“权限被拒绝或文件未找到”。
为什么 Jwplayer(或者它是 Javascript..?)不允许我在调用时使用文件的完全限定路径名jwplayer().load() ?
毕竟,我使用的是 Javascript 中的“theJwPlayer”,它在客户端计算机上运行,并且该文件也在客户端计算机上,因此这不是安全问题。
或者我在这里遗漏了什么?注意:如果这个问题是无知的,我深表歉意,但以我目前的网络编程水平,你可能很久以前就已经通过了,这很令人费解,特别是 jwplayer().load() 没有使用完全限定的路径名。
最佳答案
浏览器不会显示 JavaScript 代码的实际文件路径。这是安全问题。如果不使用(新的,仅在新浏览器中可用)HTML5 文件处理 API,您将无法获取本地文件,即使是那些也不会为您提供完整的文件路径名。
同样地,当文件输入与表单一起提交时,服务器也不会获取完整路径。
我认为您正在使用的这个媒体播放器工具不太可能设计用于处理本地文件(即,运行浏览器的本地文件系统上的文件)。
关于javascript - <input type=file>, jwplayer, javascript 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6542559/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在使用 JWPlayer 并将 .smil 源和 .m3u8 源传递给构造函数: var player = jwplayer("jwplayer-container"); player.setup
我按照以下教程进行操作: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/TutorialStreamingJWPl
我有 jwplayer 6,我想禁用 jwplayer 时间 slider 。有谁知道我如何禁用它的功能 最佳答案 我们可以创建新皮肤或编辑当前自定义皮肤以删除时间 slider 。 以下xml元素处
我使用的是jwplayer 6,当视频播放时jwplayer会隐藏控制栏,只有当我们暂停视频时它才会显示控制栏。 我尝试了设置选项: jwplayer("jwplayer").setup({
我有兴趣添加一个下载视频按钮,类似于此处的按钮 - http://support.jwplayer.com/customer/portal/articles/1436999-example-addin
我必须在弹出窗口中显示 jwplayer,对于我使用 ngDialog(angular) 的弹出窗口,ngDialog 的代码如下: $scope.showVideoPlayerPopup = fun
我尝试让 jwplayer 在 android 手机上工作,当我放置 rtsp 协议(protocol)文件源时它在 android 中工作正常,但显示文件无法在 iOS 和 PC 中播放的错误 没有
使用代码: jwplayer('myPlayer').setup({ file: '/somefile.mp4', 'controlbar': 'none', 'autostart': 'true',
当更改页面上的视频文件时,我认为 jwplayer().file(embedurl); (或类似)会很好,并且嵌入的所有先前属性都会是保存下来。但是,我似乎找不到类似的东西,并且文档表明我必须重新设置
我有一个视频,需要在页面加载后立即开始播放(这是最简单的部分)。 我还可以将视频控制栏设置为“自动隐藏”,但我希望它最初是不可见的,因为它在视频开始时看起来非常困惑。 (我还有自己的按钮对应于视频中的
有谁知道如何让 JW PLayer v5.4(Flash 渲染或 HTML5 渲染)在 seek() 命令后暂停? 当用户单击细粒度控制按钮(或使用向左或向右箭头键)时,我试图让视频向前或向后步进 0
我需要在我的expressJS、AngularJS 项目中使用JWPlayer 6 和JWPlayer 7。通常情况下,它们每个单独工作都很好。 我将它们单独包含在index.html中 OR
有人可以帮我将这个 JWPlayer 5 代码转换为 JWPlayer 6 代码吗?该脚本本质上为桌面创建 RTMP 流,为非闪存设备创建 HLS 流。 如果流媒体源不可用,将播放 .mp4 文件。
我开始使用 JW Player Free 5.9 开发我的网络电视。 我使用 Symfony2 作为使用动态路由的 PHP 框架,现在我必须下载播放器的第 6 个版本。 当我加载页面时,播放器无法工作
其实我的后面是Wowza。它为我的应用程序提供了以下流: http://.................../mychannel/playlist.m3u8 rtmp://.............
我喜欢新的 jwplayer 6,而且我有商业版本,这样我就可以给它贴上品牌标签。我使用版本 5 得到了我想要的一切(包括捕获“onplaylistITme”事件) - 但现在是时候迁移到版本 6 以
我想让每个人都能观看 flash(flv) 格式,如果他们没有 flash,他们会看到 html5(mp4/m4v) 视频。 我使用的是 JWPlayer 5,但由于一些错误,我需要将其更改为 JWP
我正在将 jwplayer 用于我的一个项目。现在要求指出播放器应附加“前进”和“后退”按钮,以便轻松浏览视频。 我查看了文档,但除了“寻求”之外没有找到任何东西。 希望收到你们的来信。 最佳答案 对
我有一个网站,我使用 jwplayer 向访问者显示流。 我想知道是否有办法在流结束时用 jwplayer 中的图像替换视频而不是该错误消息? 最佳答案 当然。 http://support.jwpl
我是一名优秀的程序员,十分优秀!