io.js 1.8 KB

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