HTML5 fileWriter.write 不写入本地文件
HTML5 fileWriter.write doesn't write to local file
我正在编写 HTML5 文件系统-API 的教程。
基本上我想写一个文件到我的机器。我正在使用 python 的 simpleHTTPServer 来为网站提供服务。加载网页后,控制台不会引发错误,我会收到一条消息,提示写入成功。但我无法在我的机器上的任何地方找到该文件。这是我的代码:
function onInitFs(fs) {
fs.root.getFile('zz11zzlog.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(['Lorem Ipsum'], {type: 'text/plain'});
fileWriter.write(blob);
}, errorHandler);
}, errorHandler);
}
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);
}
window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024, onInitFs, errorHandler);
But I can't find the file anywhere on my machine.
如果写入成功,文件将写入 chrome 的本地文件系统或 Default
-> File System
目录的 chromium 配置目录。
见How to Write in file (user directory) using JavaScript?
调用这两行进行文件下载
window.requestFileSystem(window.TEMPORARY, fileSize, function(filesystem){
setTimeout(function() {
downloadFs(filesystem,fileName);
}, time);
}, errorHandler);
function downloadFs(fs,fileName) {
fs.root.getFile(fileName, {create: false}, function(fileEntry) {
console.log("filesystem:"+fileEntry.toURL()) ;
window.location.href = fileEntry.toURL();
}, errorHandler);
}
我正在编写 HTML5 文件系统-API 的教程。 基本上我想写一个文件到我的机器。我正在使用 python 的 simpleHTTPServer 来为网站提供服务。加载网页后,控制台不会引发错误,我会收到一条消息,提示写入成功。但我无法在我的机器上的任何地方找到该文件。这是我的代码:
function onInitFs(fs) {
fs.root.getFile('zz11zzlog.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(['Lorem Ipsum'], {type: 'text/plain'});
fileWriter.write(blob);
}, errorHandler);
}, errorHandler);
}
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);
}
window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024, onInitFs, errorHandler);
But I can't find the file anywhere on my machine.
如果写入成功,文件将写入 chrome 的本地文件系统或 Default
-> File System
目录的 chromium 配置目录。
见How to Write in file (user directory) using JavaScript?
调用这两行进行文件下载
window.requestFileSystem(window.TEMPORARY, fileSize, function(filesystem){
setTimeout(function() {
downloadFs(filesystem,fileName);
}, time);
}, errorHandler);
function downloadFs(fs,fileName) {
fs.root.getFile(fileName, {create: false}, function(fileEntry) {
console.log("filesystem:"+fileEntry.toURL()) ;
window.location.href = fileEntry.toURL();
}, errorHandler);
}