Javascript Can';t使用Html5文件API写入数据
我按照指南学习了一些关于html5中的文件API的知识Javascript Can';t使用Html5文件API写入数据,javascript,html,filewriter,fileapi,Javascript,Html,Filewriter,Fileapi,我按照指南学习了一些关于html5中的文件API的知识 但是,当我遇到这些代码时 fs.root.getFile('log',{create:true},function(fileEntry){ fileEntry.createWriter(function(fileWriter){ fileWriter.onwriteend=function(e){ alert("end") } fileWriter.onerror=function(e){
但是,当我遇到这些代码时
fs.root.getFile('log',{create:true},function(fileEntry){ fileEntry.createWriter(function(fileWriter){ fileWriter.onwriteend=function(e){ alert("end") } fileWriter.onerror=function(e){ alert("error") } var bb=new window.WebKitBlobBuilder() bb.append('hello') fileWriter.write(bb.getBlob('text/plain')) },errorHandler) },errorHandler) getFile('log',{create:true},函数(fileEntry){ createWriter(函数(fileWriter){ fileWriter.onwriteend=函数(e){ 警报(“结束”) } fileWriter.onerror=函数(e){ 警报(“错误”) } var bb=new window.WebKitBlobBuilder() bb.append('hello') fileWriter.write(bb.getBlob('text/plain')) },errorHandler) },errorHandler) 我总是遇到“错误” 当我在错误事件中设置
警报(例如toString())
时,它似乎是[objectprogressevent]
,我的浏览器是chromium 13,
有人有什么想法吗?非常感谢在警报('end')之后,您还有一个额外的'}')。请发布完整的测试用例,您可以查看(例如,on),这样可以更容易地帮助您
您是否尝试记录错误事件的属性列表(顺便说一句,alert()是旧的,请使用
console.log()
)?它可能有一个e.code
?尽管我不认为它会成为ProgressEvent。我在某个地方读到它只支持chrome13+。请检查它您的filewriter可能由于多种原因失败。以下代码可能会帮助您确定哪一个:
fileWriter.onerror = function (event) {
switch (event.target.error.code) {
case FileError.NOT_FOUND_ERR:
console.error('NOT_FOUND_ERR');
break;
case FileError.SECURITY_ERR:
console.error('SECURITY_ERR');
break;
case FileError.ABORT_ERR:
console.error('ABORT_ERR');
break;
case FileError.NOT_READABLE_ERR:
console.error('NOT_READABLE_ERR');
break;
case FileError.ENCODING_ERR:
console.error('ENCODING_ERR');
break;
case FileError.NO_MODIFICATION_ALLOWED_ERR:
console.error('NO_MODIFICATION_ALLOWED_ERR');
break;
case FileError.INVALID_STATE_ERR:
console.error('INVALID_STATE_ERR');
break;
case FileError.SYNTAX_ERR:
console.error('SYNTAX_ERR');
break;
case FileError.INVALID_MODIFICATION_ERR:
console.error('INVALID_MODIFICATION_ERR');
break;
case FileError.QUOTA_EXCEEDED_ERR:
console.error('QUOTA_EXCEEDED_ERR');
break;
case FileError.TYPE_MISMATCH_ERR:
console.error('TYPE_MISMATCH_ERR');
break;
case FileError.PATH_EXISTS_ERR:
console.error('PATH_EXISTS_ERR');
break;
default:
console.error('Unknown Error: ' + event.target.error.code);
break;
}
};