/** * @description 获取文件目录 doc私有文档目录 www私有资源目录 public公有文档目录 dom公共下载目录 * @param {string} type doc私有文档目录 www私有资源目录 public公有文档目录 dom公共下载目录 */ export function getFileIndex(type = 'doc') { let fileType = '' if (type == 'doc') { fileType = plus.io.PRIVATE_DOC; } if (type == 'www') { fileType = plus.io.PRIVATE_WWW; } if (type == 'public') { fileType = plus.io.PUBLIC_DOCUMENTS; } if (type == 'dom') { fileType = plus.io.PUBLIC_DOWNLOADS; } return new Promise((ok, err) => { plus.io.requestFileSystem(fileType, function(fs) { ok(fs) }, (e) => { err(e) }); }) } /** * @description = 创建或打开文件 * @param {Object} fs //文件目录对象 * @param {string} fileName //要创建打开的文件名称 */ export function getFile(fs, fileName) { return new Promise((ok, err) => { // fs.root是根目录操作对象DirectoryEntry fs.root.getFile(fileName, { create: true }, function(fileEntry) { console.log('文件获取成功'); ok(fileEntry) }, (e) => { err(e) }); }) } /** * @description 写入文件内容 * @param {Object} fileEntry //文件对象 * @param {string} content //文件对象 */ export function writerTxt(fileEntry, content) { return new Promise((ok, err) => { // 创建文件写入对象 fileEntry.createWriter((writer) => { writer.write(content) // 写入成功 writer.onwrite((e) => { ok(e) }) // 写入失败 writer.onerror((e) => { err(e) }) }, (e) => { err(e.message) }) }) } /** *獲取文件对象 * @description 获取文件操作对象 * @param {Object} fs //文件目录对象 * @param {Object} fileName //要创建打开的文件名称 */ export function getFileText(fs, fileName) { return new Promise((ok, err) => { getFile(fs, fileName).then((fileEntry) => { fileEntry.file(function(file) { var fileReader = new plus.io.FileReader(); fileReader.readAsText(file, 'utf-8'); // 文件读取成功 fileReader.onloadend = function(evt) { // 文件读取成功 console.log('文件读取成功'); // 获取文件内容信息在evt.target.result ok(evt) }; // 文件读取失败 fileReader.onerror((e) => { err(e) }) }, (e) => { err(e) }); }).catch((e) => { err(e) }) }) }