我正在尝试在chrome 31中使用HTML5文件系统API。不幸的是,在用户授予对文件系统配额的访问权限后,出现了错误。
这是错误:
Error DOMError {message: "The implementation did not support the requested type of object or operation.", name: "NotSupportedError"}
我正在使用的代码:
<!DOCTYPE html>
<html>
<head>
<title> JavaScript File System </title>
<script>
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
navigator.webkitPersistentStorage.requestQuota(1024*1024, function(grantedBytes) {
window.requestFileSystem(PERSISTENT, grantedBytes, onInitFs, errorHandler);
}, function(e) {
console.log('Error', e);
});
function onInitFS(fs){
alert("Welcome to Filesystem! It's showtime :)"); // Just to check if everything is OK :)
// place the functions you will learn bellow here
}
function errorHandler(e) {
var msg = '';
switch (e.code) {
case FileError.QUOTA_EXCEEDED_ERR:
msg = 'QUOTA_EXCEEDED_ERR';
break;
case FileError.NOT_FOUND_ERR:
msg = 'NOT_FOUND_ERR';
break;
case FileError.SECURITY_ERR:
msg = 'SECURITY_ERR';
break;
case FileError.INVALID_MODIFICATION_ERR:
msg = 'INVALID_MODIFICATION_ERR';
break;
case FileError.INVALID_STATE_ERR:
msg = 'INVALID_STATE_ERR';
break;
default:
msg = 'Unknown Error';
break;
};
console.log('Error: ' + msg);
}
</script>
</head>
<body>
</body>
</html>
该应用程序仅在本地进行了测试(即只需使用Chrome打开html文件)。
我也尝试了filer.js,但是我得到了完全相同的错误。
最佳答案
我认为您的问题可能在这里:
当您在file:///协议(protocol)上运行时,您不会获得与http / s:///相同的特权
如果您是我,我会尝试通过Web服务器运行它。