phonegap关于文件的操作
<html>
<head>
<title>FileWriter Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加载完毕
function onDeviceReady() {
alert("phonegap开始加载");
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
alert("phonegap加载完毕");
}
function gotFS(fileSystem) {
alert("开始操作文件...");
fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail);
alert("文件操作完毕...");
}
function gotFileEntry(fileEntry) {
fileEntry.createWriter(gotFileWriter, fail);
}
function gotFileWriter(writer) {
writer.onwrite = function(evt) {
console.log("write success");
};
writer.write("some sample text");
// 文件当前内容是“some sample text”
writer.truncate(11);
// 文件当前内容是“some sample”
writer.seek(4);
// 文件当前内容依然是“some sample”,但是文件的指针位于“some”的“e”之后
writer.write(" different text");
// 文件的当前内容是“some different text”
}
function fail(error) {
console.log(error.code);
}
</script>
</head>
<body>
<h1>Example</h1>
<p>Write File</p>
</body>
</html>
官网的例子,我把导入的phonegap.js改为项目中的cordova.js,在例子中增加了一些alert();语句,发现只执行到了 "phonegap开始加载",这句,后面的都没执行。。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
应该是代码的问题,我这个代码只是写,如果写的文件不存在的话,就写入失败了,也不报错,我在相应路径下建了写的文件后就可以了。。。谢啦
看看 AndroidManifest.xml里面,读写文件的权限有没有加进去。
<!DOCTYPE html>
<html>
<head>
<title>FileReader Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.6.0.js"></script>
<script type="text/javascript" charset="utf-8">
// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加载完毕
function onDeviceReady() { 、
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
// window.resolveLocalFileSystemURI("file:////readme.txt", onResolveSuccess, fail);、
}
function onFileSystemSuccess(fileSystem) {
fileSystem.root.getFile("readme.txt",null,gotFileEntry,fail);
}
function gotFileEntry(fileEntry) {
fileEntry.createWriter(goFileWriter,fail); //写
fileEntry.file(gotFile, fail); //读取文件
}
function gotFileWriter(writer) {
alert("write starting...");
writer.onwrite = function(evt) {
alert("write success");
};
writer.write("some sample text");
// 文件当前内容是“some sample text”
writer.truncate(11);
// 文件当前内容是“some sample”
writer.seek(4);
// 文件当前内容依然是“some sample”,但是文件的指针位于“some”的“e”之后
writer.write(" different text");
// 文件的当前内容是“some different text”
}
function onResolveSuccess(fileEntry) {
alert("read start...");
fileEntry.file(gotFile,fail);
}
function gotFile(file){
readDataUrl(file);
readAsText(file);
}
function readDataUrl(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
alert("Read as data URL");
alert(evt.target.result);
};
reader.readAsDataURL(file);
}
function readAsText(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
alert("Read as text");
alert(evt.target.result);
};
reader.readAsText(file);
}
function fail(evt) {
alert(evt.target.error.code);
}
</script>
</head>
<body>
<h1>Example</h1>
<p>Read File</p>
</body>
</html>
哪位大神帮忙看一下啊,这个代码里读文件可以实现,但是写文件老是失败,也不报错。。。就不是写
文件操作不需要安装插件吧,这个里面的本来就有啊。。。。起了怪了,我用eclipse-adt重搭了一个android的phonegap上面这个可以直接运行。。。。
但是公司的项目是用node.js搭起来的。。。
插件装了?Phonegap的功能都需要装插件 比如contact device file什么的。