Javascript文件阅读器不';t在大文件上触发事件
我正在尝试播放客户端计算机上的视频文件。问题是获取绝对路径非常困难,因此我可以将其放入Javascript文件阅读器不';t在大文件上触发事件,javascript,html,events,filereader,large-files,Javascript,Html,Events,Filereader,Large Files,我正在尝试播放客户端计算机上的视频文件。问题是获取绝对路径非常困难,因此我可以将其放入video的src或object的data属性中。最终我找到了FileReader对象,它可以很好地处理小文件。但是,它在读取大文件时(到目前为止超过200MB)不会触发onload事件。无错误,FileReader.onerror不会触发任何操作,try/catch没有帮助。开发者控制台没有显示任何内容 我认为这与每个浏览器配置上的最大文件大小有关,但我找不到配置的方法。帮忙 这是密码 function on
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)
{
};
};
}
没有这种浏览器配置设置。 我还使用过FileReader和大文件(高达50MB),浏览器的行为非常不同: