2017-02-20 74 views
0

我想獲取上傳前的視頻持續時間。如何在angular2中做到這一點? 還有就是我輸入代碼:angular2獲取上傳前的視頻持續時間

<input type="file" class="form-control" ng2FileSelect [uploader]="uploader" accept="video/*" #video (change)="getVideoInfor(video.value) "/>

我找到了一些比較示例使用jQuery的,但我不知道在angualr2使用。是否有可能使用沒有jQuery的angular2來做到這一點?

回答

1

請在這裏找到答案https://stackoverflow.com/a/29285597/7270500使用javascript。

順便說一句,getVideoInfor指的是video.value。 使用$ event.target.value可以輕鬆訪問它,爲您節省#video引用,除非組件代碼中需要。

+0

我剛剛發現它,它太神奇了!我得到了我想要的video.duration值,但我必須使用我的component.ts中的值。如何將video.onloadedmetadata()中的video.duration值輸出到組件。我嘗試了很多方法,但無法訪問它。感謝您的幫助:) – PaulHuang

+0

將屬性添加到您的組件類並將其分配給video.onloadedmetada()。在您的模板中使用{{}}語法讀取該值。請參閱[鏈接](https://angular.io/docs/ts/latest/guide/displaying-data.html) – Arinaud

+0

您拯救了我的生命,並且很高興您能耐心地回覆我:) – PaulHuang

0

對不起想評論回答後,但棧不會讓我。

@PaulHuang有可能看到你是如何實現答案的?我一直試圖修改我的角度2的答案,但得到一些我不能過去的錯誤。

+0

您在這裏, 'getDuration(files){ var myVideos = []; window.URL = window.URL; myVideos.push(files [0]); var a = []; var video = document.createElement('video'); video.preload ='metadata'; video.onloadedmetadata = function(videoDuration){ window.URL.revokeObjectURL(this.src) a.push(video.duration); }; video.src = URL.createObjectURL(files [0]); this.videoDuration = a; }' 但我不認爲這是最好的方法。如果你發現另一個更好,請分享給我×× – PaulHuang

+0

忘了說這個感謝。謝謝 – Robbie

相關問題