我尝试将本地生成的文件下载到设备文件系统。我使用的功能仅适用于chrome,因此我想用基于Cordova的功能替换它。我在IntelXDK中添加了:
- Cordova插件File和FileTransfer。
- Android权限WRITE_EXTERNAL-STORAGE和READ_EXTERNAL_STORAGE。
- 下载功能:
function downloadCordova2(filename, text){
//NEXT SAVE IT TO THE DEVICE'S LOCAL FILE SYSTEM
console.log("file system...");
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
alert("in 1");
console.log(fileSystem.name);
console.log(fileSystem.root.name);
console.log(fileSystem.root.fullPath);
fileSystem.root.getFile("test.txt", {create: true}, function(entry) {
var fileEntry = entry;
console.log(entry);
alert("in 2");
entry.createWriter(function(writer) {
writer.onwrite = function(evt) {
console.log("write success");
};
console.log("writing to file");
writer.write( pdfOutput );
}, function(error) {
console.log(error);
});
}, function(error){
console.log(error);
});
},
function(event){
console.log( evt.target.error.code );
alert(evt.target.error.message);
});
}
我收到错误"未捕获的ReferenceError:未定义LocalFileSystem"在模拟器中,在构建chrome之后的chrome中,在使用真实Android设备的模拟器中,当我安装Android apk时,我看不到它,但它也不起作用。
我错过了要包含的内容吗? 关于这个问题有类似的帖子,但缺少插件,权限的问题......
答案 0 :(得分:0)
将HTML5项目导入IntelXDK后,必须在index.html文件中添加IntelXDK javascript源的脚本标记:
<script src="intelxdk.js"></script>
项目源中不存在该文件,但在构建项目时,IntelXDK会自动将其复制到源的根目录,在index.html旁边