'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
let index = 0
 
export default function saveImage (dataURL, dirname, callback) {
  const id = `${Date.now()}${index++}`
  const array = dataURL.split(',')
  const scheme = array[0]
  const base64 = array[1]
  const format = (scheme.match(/data:image\/(\S+?);/) || [null, 'png'])[1].replace('jpeg', 'jpg')
  const fileName = `${id}.${format}`
  const tempFilePath = `${dirname}/${fileName}`
 
  const i = dirname.indexOf('/')
  const basePath = dirname.substring(0, i)
  const dirPath = dirname.substring(i + 1)
  plus.io.resolveLocalFileSystemURL(basePath, function (entry) {
    entry.getDirectory(dirPath, {
      create: true,
      exclusive: false
    }, function (entry) {
      entry.getFile(fileName, {
        create: true,
        exclusive: false
      }, function (entry) {
        entry.createWriter(function (writer) {
          writer.onwrite = function () {
            callback(null, tempFilePath)
          }
          writer.onerror = callback
          writer.seek(0)
          writer.writeAsBinary(base64)
        }, callback)
      }, callback)
    }, callback)
  }, callback)
}