2017-08-31 90 views
1

我使用ng2-file-upload來上傳視頻,最長上傳時間爲15分鐘。那麼如何才能在將其上傳到服務器之前獲取它的持續時間?這些擴展名只允許: - -.MOV -.MPEG4 -.AVI -.FLV -.3FPP -.WebM和-MPEGS。如果有人知道,請回復。如何使用ng2-file-upload在Angular 4.3.1中檢查視頻的持續時間?

+0

可你的工具(角等)校驗字節值?您必須檢查每種格式的文件元數據部分的字節。這些視頻格式還有**規格**在線發佈。例如搜索「FLV格式規範」。使用十六進制編輯器打開_x_格式的視頻文件以查看其字節。如果您可以手動查找持續時間,則下一次編寫代碼即可完成此操作。 –

+0

使用ng2-file-upload我只能得到視頻的大小。我怎樣才能找到它的持續時間? – Garima

+0

大小意味着它包含的總字節數。如果你知道什麼是數組,那麼字節只是一個大數組。您需要檢查索引處的數字值,例如'myVideoBytes [0]'或'myVideoBytes [15]'。檢查格式規格,因爲MOV將持續時間字節放在AVI的不同位置,這對於FLV等也是不同的。要處理用戶選擇文件,您是使用HTML5的「File」API還是通過PHP? –

回答

0

您可以在您的Angular應用程序中包含vanilla Javascript來執行此操作。

下面會給你一個區間(開啓MP4測試):

var inputBox = document.getElementById("videoInput") 
 

 
inputBox.onchange = function(files) { 
 
    alert("starting") 
 
    var video = document.createElement('video'); 
 
    alert("video created") 
 
    video.preload = 'metadata'; 
 
    video.onloadedmetadata = function() { 
 
    alert("metadata loaded") 
 
    var duration = video.duration; 
 
    alert("duration is " + duration) 
 
    } 
 
    var selectedVID = document.getElementById("videoInput").files[0]; 
 
    video.src = URL.createObjectURL(selectedVID); 
 
}
<div id="input-upload-file"> 
 
    <p> 
 
    Video Upload Duration test 
 
    </p> 
 
    <input id="videoInput" type="file" class="upload" name="fileUpload"> 
 
</div>

+0

嗨米克, 謝謝!除了使用ng2-file-upload以外的任何其他方式的JavaScript? – Garima

相關問題