使用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");
}