java写js文件操作,使用FileSystem Api在Javascript中写入文件

I am trying to write to local file system using FileSystem API in Chrome. I am getting the following error while executing

FileError is deprecated. Please use the 'name' or 'message' attributes of DOMError rather than 'code'.

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;

var fs = null;

function errorHandler(e) {

alert("hi");

var msg = '';

switch (e.code) { //Error is being reported here

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;

}

}

function onInitFs(fs) {

alert("hi");

fs.root.getFile('log.txt', {create: true}, function(fileEntry) {

// Create a FileWriter object for our FileEntry (log.txt).

fileEntry.createWriter(function(fileWriter) {

fileWriter.onwriteend = function(e) {

console.log('Write completed.');

};

fileWriter.onerror = function(e) {

console.log('Write failed: ' + e.toString());

};

// Create a new Blob and write it to log.txt.

var blob = new Blob(['Add some text'], {type: 'text/plain'});

fileWriter.write(blob);

}, errorHandler);

}, errorHandler);

}

function initFS(){

window.requestFileSystem(window.TEMPORARY, 1024*1024, onInitFs, errorHandler);

}

if (window.requestFileSystem) {

initFS();

}

And since i know the execution goes to errorHandler method i assume i am doing something wrong while calling the requestFileSystem() method. I would really appreciate help here. Thanks in advance

Further research shows that it fails with security error. How do i basically bypass that

解决方案

Seems like your errorHandler wasn't doing anything with msg anyway. Try this:

function errorHandler(e) { console.log("ERROR!: name: [" + e.name + "] message: [" + e.message + "]"); }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值