【发布时间】:2011-06-23 09:28:15
【问题描述】:
我有一个视频的上传表单。用户单击浏览并选择一个文件。如何在用户选择文件的那一刻(甚至在文件上传到服务器之前)获得视频尺寸。它显然必须是客户端的东西,可能是 javascript/jquery 或 flash/flex(虽然更喜欢 js//jquery),但是它们中的任何一个都可以这样做吗?
【问题讨论】:
标签: javascript jquery apache-flex html video
我有一个视频的上传表单。用户单击浏览并选择一个文件。如何在用户选择文件的那一刻(甚至在文件上传到服务器之前)获得视频尺寸。它显然必须是客户端的东西,可能是 javascript/jquery 或 flash/flex(虽然更喜欢 js//jquery),但是它们中的任何一个都可以这样做吗?
【问题讨论】:
标签: javascript jquery apache-flex html video
不幸的是,简短的回答是您不能 - 您需要访问权限才能使用不允许的 javascript 扫描文件内容。更糟糕的是,即使你能以某种方式读取文件,你也需要在 JS 中实现一大堆编解码器才能读取头信息。
将此标记为不可能
【讨论】:
理论上你应该可以使用 FileReader API - https://developer.mozilla.org/en/DOM/FileReader
一旦文件被读取,您就可以解析出标题。据我所知,没有人在 javascript 中这样做过。
【讨论】:
这是一个非常古老的问题,但现在可以在上传之前了解客户端的视频尺寸。
参考这个问题:HTML5 Video Dimensions
示例代码:
var v = document.getElementById("myVideo");
v.addEventListener( "loadedmetadata", function (e) {
var width = this.videoWidth,
height = this.videoHeight;
}, false );
【讨论】:
【讨论】: