king
2022-05-05 4677982c003e357cff8f2544be44706bf31ea6de
src/tabviews/zshare/fileupload/index.jsx
@@ -39,28 +39,42 @@
    let filelist = []
    if (config.initval) {
      try {
        filelist = config.initval.split(',').map((url, index) => {
          return {
            uid: `${index}`,
            name: url.slice(url.lastIndexOf('/') + 1),
            status: 'done',
            url: url,
            origin: true
          }
        })
      } catch (e) {
        filelist = []
      if (/^data:image/.test(config.initval)) {
        filelist = [{
          uid: '0',
          name: 'data:image/jpeg;base64',
          status: 'done',
          url: config.initval,
          origin: true
        }]
      } else {
        try {
          filelist = config.initval.split(',').map((url, index) => {
            return {
              uid: `${index}`,
              name: url.slice(url.lastIndexOf('/') + 1),
              status: 'done',
              url: url,
              origin: true
            }
          })
        } catch (e) {
          filelist = []
        }
      }
    }
    let accept = ''
    let accepts = null
    let compress = false
    if (config.compress === 'true') {
    let maxFile = config.maxfile && config.maxfile > 0 ? config.maxfile : null
    if (config.compress === 'true' || config.compress === 'base64') {
      compress = true
      accepts = ['.jpg', '.png', '.gif', '.jpeg']
      accept = accepts.join(',')
      if (config.compress === 'base64') {
        maxFile = 1
      }
    } else if (config.suffix) {
      accepts = config.suffix.split(',').map(item => {
        if (!/^\./ig.test(item)) {
@@ -83,7 +97,7 @@
      filelist,
      compress,
      limit: config.limit || 2,
      maxFile: config.maxfile && config.maxfile > 0 ? config.maxfile : null,
      maxFile: maxFile,
      fileType: config.fileType || 'text'
    })
  }
@@ -281,34 +295,49 @@
          let param = {Base64Img: cvs.toDataURL('image/jpeg', compressRate)}
          if (rduri) {
            param.rduri = rduri
          }
          Api.fileuploadbase64(param).then(result => {
            if (result.status && result.Images) {
              let url = service + result.Images
              if (rduri) {
                url = rduri.replace(/webapi(.*)$/, '') + result.Images
              }
              this.onUpdate(url)
              this.setState({
                percent: 100
              }, () => {
                setTimeout(() => {
                  this.setState({
                    showprogress: false,
                    percent: 0
                  })
                }, 200)
              })
            } else {
              this.onFail(result.message)
          if (this.props.config.compress === 'base64') {
            this.onUpdate(param.Base64Img)
            this.setState({
              percent: 100
            }, () => {
              setTimeout(() => {
                this.setState({
                  showprogress: false,
                  percent: 0
                })
              }, 200)
            })
          } else {
            if (rduri) {
              param.rduri = rduri
            }
          })
            Api.fileuploadbase64(param).then(result => {
              if (result.status && result.Images) {
                let url = service + result.Images
                if (rduri) {
                  url = rduri.replace(/webapi(.*)$/, '') + result.Images
                }
                this.onUpdate(url)
                this.setState({
                  percent: 100
                }, () => {
                  setTimeout(() => {
                    this.setState({
                      showprogress: false,
                      percent: 0
                    })
                  }, 200)
                })
              } else {
                this.onFail(result.message)
              }
            })
          }
        }
        img.onerror = () => {