如何在使用angularjs上传视频之前在浏览器中呈现视频?

时间:2015-06-16 12:03:29

标签: javascript html angularjs video upload

我希望在上传到服务器之前在浏览器中呈现视频。我已经完成了角度js中的代码。

这是我的代码 HTML(玉)

input(type='file' ng-file-select="readURL(this)" accept='video/*')
video(width='320', height='240', controls='')
source(id ='blah' src='#', type='video/mp4')

的javascript:

$scope.readURL = (input) ->
    console.log "inside"
    if input.files and input.files[0]
        console.log 'hello'
        reader = new FileReader
        reader.onload = (e) ->
            console.log e.target.result
            $('#blah').attr('src', e.target.result)
            return

        reader.readAsDataURL input.files[0]
    return

提前感谢。

1 个答案:

答案 0 :(得分:2)

我猜你在这里使用http://jsfiddle.net/Crw2C/773/指令,如果是这样,解决方案很简单:

html部分:

<div ng-app='theModule' ng-controller='mainCtrl'>
    <button ngf-select ng-model="files"  accept='video/*' >select video</button>
    <video controls ngf-src="files[0]" ngf-accept="'video/*'" autoplay></video>
</div>

js部分:

angular.module('theModule', ['ngFileUpload']).controller('mainCtrl', ['$scope', 'Upload', function ($scope, Upload){
}]);

如果您想收听文件更改,可以添加ngf-change="...

ng-file-upload