首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从javascript中的输入获取视频的宽度和高度

如何从javascript中的输入获取视频的宽度和高度
EN

Stack Overflow用户
提问于 2018-08-03 13:01:56
回答 1查看 474关注 0票数 1

我想从输入按钮获得视频的宽度和高度。但是我的代码不能工作。我得到了文件,但我想从file变量中获得信息。

代码语言:javascript
复制
    fileButton.addEventListener('change', function(e) {
    //Get file
    var file = e.target.files[0];
    let reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onload = function(){
        var height =reader.naturalHeight;
        var width =reader.naturalWidth;
     }
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-06 00:47:31

使用FileReader将其从二进制转换为base64,然后再转换回二进制是一种资源和内存的浪费,请改用URL.createObjectURL。并且您不必将视频附加到DOM

代码语言:javascript
复制
fileButton.addEventListener('change', evt => {
  const file = fileButton.files[0]
  const url = URL.createObjectURL(file)
  const video = document.createElement('video')
  video.onloadedmetadata = evt => {
    // Revoke when you don't need the url any more to release any reference
    URL.revokeObjectURL(url)
    console.log(video.videoWidth, video.videoHeight)
  }
  video.src = url
  video.load() // fetches metadata
})
代码语言:javascript
复制
<html>
<input type="file" id="fileButton">

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51665617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档