gpt4 book ai didi

android - Cordova - 将文件保存到存储

转载 作者:行者123 更新时间:2023-12-05 00:17:06 27 4
gpt4 key购买 nike

我正在制作一个 Cordova 应用程序,需要从中导出文件。我想将文件保存到 Android 设备的存储:/storage/emulated/0/。应用程序应创建一个文件夹,并在其中创建一个包含内容的文件。

我尝试了 cordova-plugin-file 插件,但我不知道如何使用它。 plugin's documentation上有例子但我不知道该用哪一个,有:

我都尝试过,但没有一个有效。

我们将非常感谢您的帮助和示例(如果可能)。

编辑

这是我使用的代码。我没有收到任何错误。

function createFile(dirEntry, fileName, fileContent, isAppend) {
dirEntry.getFile(fileName, {create: true, exclusive: false}, function(fileEntry) {
writeFile(fileEntry, fileContent, isAppend);
}, fail);
}

function savePasswords(fileSystem) {
createFile("/sdcard/testFolder", "testfile.txt", "TEST", true);
}

function fail(error) {
alert("ERROR: " + error.code);
}

function request() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, savePasswords, fail);
}

document.addEventListener("deviceready", request, false);

我希望在名为“testFolder”的文件夹中创建内容为“TEST”的文件“testfile.txt”。

最佳答案

此脚本有效:

function writeFile(fileEntry, dataObj) {
// Create a FileWriter object for our FileEntry (log.txt).
fileEntry.createWriter(function (fileWriter) {

fileWriter.onwriteend = function() {
console.log("Successful file write...");
readFile(fileEntry);
};

fileWriter.onerror = function (e) {
console.log("Failed file write: " + e.toString());
};

// If data object is not passed in,
// create a new Blob instead.
if (!dataObj) {
dataObj = new Blob(["Content if there's nothing!"], { type: 'text/plain' });
}

fileWriter.write(dataObj);
});
}

window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory, function (rootDirEntry) {
rootDirEntry.getDirectory(fileDir, { create: true }, function (dirEntry) {
var isAppend = true;
dirEntry.getFile(fileName, { create: true }, function (fileEntry) {
writeFile(fileEntry, "Content!", isAppend);
// Success
});
});
});

关于android - Cordova - 将文件保存到存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47846958/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com