我可以为HTML5file upload设置video长度限制吗?
当通过HTML5input上传video时,例如:
<input type="file" id="input">
我知道可以使用PHP / Node.Js设置文件大小的限制。
有没有办法设置video长度的限制,而不是文件大小?
IE:只允许用户上传15秒或更短的video。
这是我发现的:
解决scheme1:创build播放本地video文件的video元素,然后运行video.duration。
var vid = document.getElementById("myVideo"); function myFunction() { alert(vid.duration); } (function localFileVideoPlayer() { 'use strict' var URL = window.URL || window.webkitURL var displayMessage = function (message, isError) { var element = document.querySelector('#message') element.innerHTML = message element.className = isError ? 'error' : 'info' } var playSelectedFile = function (event) { var file = this.files[0] var type = file.type var videoNode = document.querySelector('video') var canPlay = videoNode.canPlayType(type) if (canPlay === '') canPlay = 'no' var message = 'Can play type "' + type + '": ' + canPlay var isError = canPlay === 'no' displayMessage(message, isError) if (isError) { return } var fileURL = URL.createObjectURL(file) videoNode.src = fileURL } var inputNode = document.querySelector('input') inputNode.addEventListener('change', playSelectedFile, false) })()
<h3>Step 1: Upload a video</h3> <h3>Step 2: Get length</h3> <h3>Step 3: ???</h3> <h3>Step 4: Profit</h3> <button onclick="myFunction()" type="button">Get video length</button> <hr> <div id="message"></div> <input type="file" accept="video/*"/> <video controls autoplay id="myVideo"></video>