我正在尝试从客户端计算机上播放视频文件。问题在于很难获取绝对路径,以便我可以将其放入
我认为这与每个浏览器配置的最大文件大小有关,但我找不到配置的方法。请帮忙解决?
以下是代码:
video
的src
或object
的data
属性中。最终,我发现了FileReader对象,并且它可以很好地处理小文件。然而,当读取大文件(200MB+)时,它不会触发onload事件。没有错误,FileReader.onerror没有触发任何内容,try/catch也无法帮助。开发者控制台没有显示任何信息。我认为这与每个浏览器配置的最大文件大小有关,但我找不到配置的方法。请帮忙解决?
以下是代码:
function onclick()
{
var file_dialog = document.getElementById("file_dialog");
var path_dialog = document.getElementById("path_dialog");
var video_player = document.getElementById("video_player");
var begin_video = document.getElementById("begin_video");
var reading_progress = document.getElementById("reading_progress");
file_dialog.onchange = function ()
{
begin_video.disabled = file_dialog.files.length == 0 || path_dialog.files.length == 0;
};
path_dialog.onchange = file_dialog.onchange;
begin_video.onclick = function ()
{
begin_video.disabled = true;
var reader = new FileReader();
reader.onload = function (e)
{
video_player.src = e.target.result;
begin_video.disabled = false;
};
reader.onprogress = function (e)
{
reading_progress.textContent = "Reading... " + (Math.floor(e.loaded / e.total * 10000) / 100) + "%";
};
reader.onloadend = function (e)
{
if (e.target.error != null)
reading_progress.textContent = e.target.error.code;
else
reading_progress.textContent = "FINISHED!!!";
};
reader.onerror = alert;
reader.readAsDataURL(file_dialog.files[0]);
var reader2 = new FileReader();
reader2.onload = function (e)
{
};
};
}