io.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. export default {
  2. storage(addr,data) {
  3. plus.io.requestFileSystem(
  4. plus.io.PUBLIC_DOCUMENTS, // 程序公用文档目录常量
  5. fs => {
  6. // 创建或打开文件, fs.root是根目录操作对象,直接fs表示当前操作对象
  7. fs.root.getFile(
  8. addr, {
  9. create: true // 文件不存在则创建
  10. },
  11. fileEntry => {
  12. // 文件在手机中的路径
  13. //console.log(fileEntry.fullPath)
  14. fileEntry.createWriter(writer => {
  15. // 写入文件成功完成的回调函数
  16. writer.onwrite = e => {
  17. console.log('写入成功');
  18. };
  19. // 向文件中写入数据
  20. writer.write(
  21. JSON.stringify(data)
  22. );
  23. });
  24. },
  25. e => {
  26. console.log('getFile failed: ' + e.message);
  27. }
  28. );
  29. },
  30. e => {
  31. console.log(e.message);
  32. }
  33. );
  34. },
  35. read(addr) {
  36. let that = this;
  37. return new Promise((resolve, reject) => {
  38. plus.io.requestFileSystem(
  39. plus.io.PUBLIC_DOCUMENTS,
  40. fs => {
  41. fs.root.getFile(
  42. addr, {
  43. create: false
  44. },
  45. fileEntry => {
  46. fileEntry.file(function(file) {
  47. console.log('文件大小:' + file.size + '-- 文件名:' + file.name);
  48. //创建读取文件对象
  49. let fileReader = new plus.io.FileReader();
  50. //以文本格式读取文件数据内容
  51. fileReader.readAsText(file, 'utf-8');
  52. //文件读取操作完成时的回调函数
  53. fileReader.onloadend = function(evt) {
  54. resolve(evt.target.result)
  55. //console.log("提取的服务器地址:", sURL);
  56. };
  57. });
  58. },
  59. e => {
  60. reject(e)
  61. console.log(e)
  62. }
  63. );
  64. },
  65. e => {
  66. reject(e);
  67. console.log(e.message);
  68. }
  69. );
  70. })
  71. }
  72. }