我正在下载包含4个文件的ZIP文件,将其解压缩,然后将CSV数据解析为SQL,并将其插入iOS应用程序。
4个文件中的3个处理正常,但其中一个(大约17,000行数据,文件大小约2MB)失败。这是我的readfile函数,以及failed
函数提供的序列化错误对象的JSON输出
readFile = function( fileEntry ) {
fileEntry.file(
function( fileObject ){
var reader = new FileReader();
reader.onload = function( evt ) {
parseFile( fileObject.name, evt.target.result );
};
reader.onerror = failed;
reader.readAsText( fileObject );
}
);
}
错误对象:
{
"type":"error",
"bubbles":false,
"cancelBubble":false,
"cancelable":false,
"lengthComputable":false,
"loaded":0,
"total":0,
"target":{
"_readyState":2,
"_error":{"code":5},
"_result":null,
"_fileName":"/var/mobile/Applications/14323F76-D82C-4040-85AF-D37F2C73BE73/Documents/data/events.uk.data",
"_realReader":{
"readyState":0,
"result":null,
"onloadstart":null,
"onabort":null,
"error":null,
"onprogress":null,
"onloadend":null
}
}
}
此错误告诉我哪个文件导致了问题,但没有有用的消息,唯一看起来可能有用的是_error: {code: 5}
。
修改
根据此网址: https://developer.mozilla.org/en-US/docs/Web/API/FileError
值为5的HTML文件错误是:
ENCODING_ERR | 5 |网址格式错误。确保URL是 完整有效。
有谁知道问题可能是什么?或者如何获得更好的错误信息?
答案 0 :(得分:0)
发现问题,我查看了我的源文件(17000行美元符号分隔数据,因为我无法使用逗号)而且我有一些流氓括号(),感叹号!和英镑符号£。
删除修复问题的那些。
其中哪一个真的会阻止FileReader阅读 - 考虑到我用$来分隔我的价值观?