2015-02-23 17 views
0

我們有一個mp4文件,我們如何使用javascript創建一個base64 src文件?如何使用Javascript僅從視頻中提取base64 src?

例如,如果他有一個名爲example.mp4所在的MP4文件在/assets/video/example.mp4,如何利用它使用JavaScript來創建一個類似的例子一個HTML標籤中提取數據的base64下面?

<video id="video" width="740" controls> 
    <source type="video/mp4" src="data:video/mp4;base64,[VIDEO BASE64 DATA HERE]"> 
</video> 

代替此:

<video id="video" width="740" controls> 
    <source type="video/mp4" src="/assets/video/example.mp4"> 
</video> 

這樣做的動機是因爲我需要(視頻或圖像等例如)從一個地方傳送加密文件到另一個。所以我需要使用Javascript,提取數據,加密它然後傳輸。我們應該怎麼做?

+0

我不會那樣做與JS ... JS真的不是處理這樣的事情。 – Cerbrus 2015-02-23 18:56:45

+0

加密/解密是什麼意思?爲什麼文件不能爲傳輸文件保留加密? – Bergi 2015-02-23 19:01:38

+0

用戶將指出該文件並進行瀏覽。該文件不會被加密,在此之後它將被加密。 – GarouDan 2015-02-23 19:12:47

回答

0

這可能是一個答案,但我並沒有進行測試:(MooTools的)

http://jsfiddle.net/eliseosoto/JHQnk/

<div> 
    <div> 
     <label for="filePicker">Choose or drag a file:</label><br> 
     <input type="file" id="filePicker"> 
    </div> 
    <br> 
    <div> 
     <h1>Base64 encoded version</h1> 
     <textarea id="base64textarea" placeholder="Base64 will appear here" cols="50" rows="15"></textarea> 
    </div> 
</div> 



var handleFileSelect = function(evt) { 
    var files = evt.target.files; 
    var file = files[0]; 

    if (files && file) { 
     var reader = new FileReader(); 

     reader.onload = function(readerEvt) { 
      var binaryString = readerEvt.target.result; 
      document.getElementById("base64textarea").value = btoa(binaryString); 
     }; 

     reader.readAsBinaryString(file); 
    } 
}; 

if (window.File && window.FileReader && window.FileList && window.Blob) { 
    document.getElementById('filePicker').addEventListener('change', handleFileSelect, false); 
} else { 
    alert('The File APIs are not fully supported in this browser.'); 
} 
0

您是否已經能夠適應的代碼,以便它不需要用戶給一個文件?

這是爲了能夠像您最初想要的那樣進行編碼,通過了解文件的位置並自動執行,無需用戶干預。