如何播放使用Ajax下载的媒体文件?

时间:2014-10-31 09:43:16

标签: javascript html ajax

我希望能够使用Ajax下载媒体文件并播放它们。我的方法(下面)适用于图像 - 但由于某种原因,视频文件(AVI)无法播放。

var xmlhttp;
    if (window.XMLHttpRequest) { 
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
            if (type == 'Image') {
                document.getElementById("image_holder").src = "data:image/png;base64," + xmlhttp.responseText;
            } else {
                document.getElementById("video_holder").src = "data:video/avi;base64," + xmlhttp.responseText;
            }
        }
    };    
    xmlhttp.open("GET", server_url + '/get_file.php);
    xmlhttp.send(null);

HTML:

<video id="outer_video_holder">
            <source id="video_holder"  src="" type="video/avi">
        </video>

get_file.php

    $sql = "SELECT * FROM file WHERE id=$file_id";

    $result = $conn->query($sql);

    header("Content-Type: video/avi");

    if ($row = $result->fetch_assoc()) {
        echo $row['content'];
    }

0 个答案:

没有答案