我要实现以下目标。
<video src="file:///Users/username/folder/video.webm">
</video>
目的是使用户能够从他/她的硬盘驱动器中选择文件。
不上传的原因当然是传输成本和存储配额。没有理由保存文件。
可能吗?
Answers:
可以播放本地视频文件。
<input type="file" accept="video/*"/>
<video controls autoplay></video>
通过input
元素选择文件时:
http://jsfiddle.net/dsbonev/cCCZ2/embedded/result,js,html,css/
仅当HTML文件还file
从本地用户的硬盘加载了协议时,这才有可能。
如果HTML页面是由服务器上的HTTP提供的,则无法通过在src
带有file://
协议的属性中指定本地文件来访问任何本地文件,因为这意味着您可以在用户计算机上访问任何文件,而用户却不知道这将是一个本地文件。巨大的安全风险。
正如Dimitar Bonev所说,如果用户自己使用文件选择器选择文件,则可以访问文件。如果没有该步骤,出于所有原因,所有浏览器都将禁止使用它。因此,尽管他的答案可能对许多人都有用,但它使原始问题中的代码要求变得宽松。
前一段时间遇到了这个问题。由于安全性设置(实际上是可以理解的),网站无法访问本地PC上的视频文件,唯一可以解决的方法是在本地PC(server2Go)上运行网络服务器,并且所有对网络上视频文件的引用都指向本地主机/video.mp4
<div id="videoDiv">
<video id="video" src="http://127.0.0.1:4001/videos/<?php $videoFileName?>" width="70%" controls>
</div>
<!--End videoDiv-->
不是理想的解决方案,但对我有用。