我知道的跟nodejs关系不大,可以用ffmpeg 来获取,然后nodejs 调用ffmpeg的命令。
可以获得视频的时长 duration 和 分辨率 272X480 。
然后把输出的内容通过正则获取出来即可。
代码: 具体获取文件路径并判断的我就不写了
var url = 'd:/a.mp4'var exec = require('child_process').exec
var cp = exec('d:/soft/ffmpeg/bin/ffmpeg -i '+url,function(err,stdout,stderr){
var outStr = stderr.toString()
// console.log(outStr)
var regDuration =/Duration\: ([0-9\:\.]+),/
var rs = regDuration.exec(outStr)
if(rs[1]){
var timeStr = rs[1]
//获得时长
console.log(timeStr)
}
})
在firefox上,input(type=file)默认获取到的value值就是文件名。在IE上,input(type=file)默认获取到的value值是路径。
因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。
示例代码:
<form action="" method="get" onSubmit="return false">
<input type="text" name="test" id="test">
<input type="file" name="testFile" onChange="if(this.value)insertTitle(this.value)">
<input type="submit" value="提交">
</form>
<script language="javascript">
function insertTitle(path){
var test1 = path.lastIndexOf("/") //对路径进行截取
var test2 = path.lastIndexOf("\\") //对路径进行截取
var test= Math.max(test1, test2)
if(test<0){
document.getElementById("test").value = path
}else{
document.getElementById("test").value = path.substring(test + 1)//赋值文件名
}
}
</script>