使用jsmediatags

时间:2017-10-06 18:40:28

标签: javascript filereader

使用JSMediaTags时,jsmediatags.open方法的onError事件处理程序接收带有属性的错误对象:

type = "fileReader"

info = "Offset 0 hasn't been loaded yet"

请参阅下面的伪代码。

错误的确切文本不在JSMediaTags文件中,导致我相信浏览器正在生成错误,但我无法深入了解具体问题是什么。

我在我的本地工作站上运行它,运行IIS的Windows 7操作系统。我已经在Chrome v 61和Firefox v 55中进行了测试。两者都有相同的错误。

正如您所看到的,我正在尝试首先将文件对象(作为文件)发送到jsmediatags.read函数中。这导致上面详述的错误。

我已经注释掉代码,而不是文件对象,我尝试发送1.)文件的完整本地路径,2。)文件对象上的createObjectURL的结果,以及3。 )文件对象的名称属性。最后3个不会导致onSuccess或onError事件被触发。

<script type="text/javascript" src="tagreader/jsmediatags.js"></script>

<input type="file" id="fileinput" onchange="window.handleLocalFiles(this.files)">

<script>

var gobjFileTags = null;

function handleLocalFiles(argFiles){
    if (argFiles && (argFiles.length > 0)){
        testTagReader(argFiles[0]);
    }
}

function testTagReader(objFile){
var objTagReader = null;

var strURL = "";
var strFileName = "";
var strLocalPath = "";

    objTagReader = window.jsmediatags;

    objTagReader.read(objFile, {
        onSuccess: function(tag){
            window.gobjFileTags = tag;
            window.readFileTags();
        },
        onError: function(objError){
            window.alert("objTagReader Error - type: " + objError.type + ", info: " + objError.info);
        }
    });
}

function readFileTags(){
    window.alert("readFileTags called");
}

0 个答案:

没有答案