* * @param {string} filename * @param {any} data * @param {boolean} create If this property is true, and the requested file or * directory doesn't exist, the user agent should create it. * The default is false. The parent directory must already exist. * @param {boolean} exclusive If true
(filename, data, create = false, exclusive = true)
| 35 | * @returns {Promise} |
| 36 | */ |
| 37 | writeFile(filename, data, create = false, exclusive = true) { |
| 38 | exclusive = create ? exclusive : false; |
| 39 | const name = filename.split("/").pop(); |
| 40 | const dirname = Url.dirname(filename); |
| 41 | |
| 42 | return new Promise((resolve, reject) => { |
| 43 | reject = setMessage(reject); |
| 44 | window.resolveLocalFileSystemURL( |
| 45 | dirname, |
| 46 | (entry) => { |
| 47 | entry.getFile( |
| 48 | name, |
| 49 | { create, exclusive }, |
| 50 | (fileEntry) => { |
| 51 | fileEntry.createWriter((file) => { |
| 52 | file.onwriteend = (res) => resolve(filename); |
| 53 | file.onerror = (err) => reject(err.target.error); |
| 54 | file.write(data); |
| 55 | }); |
| 56 | }, |
| 57 | reject, |
| 58 | ); |
| 59 | }, |
| 60 | reject, |
| 61 | ); |
| 62 | }); |
| 63 | }, |
| 64 | |
| 65 | /** |
| 66 | * Delete a file or directory |