Vue. js пустое изображение base64 - PullRequest
0 голосов
/ 06 января 2020

Приложение для телефона, которое фильтрует фотографии после съемки. Я могу отфильтровать его, но когда я отправляю код base64 возвращает пустое изображение. Я не могу решить это. Любая помощь будет благодарна.

Вот мой код;

 async sendPhoto () {
      const canvas = document.createElement('canvas')
      canvas.width = document
        .getElementById('image')
        .getAttribute('data-original-width')
      canvas.height = document
        .getElementById('image')
        .getAttribute('data-original-height')
      const ctx = canvas.getContext('2d')
      ctx.filter = this.filters.filter

      var img = document.createElement('img')
      img.src = this.image
      img.onload = function () {
        // ctx.drawImage(this.image, 0, 0, canvas.width, canvas.height)
        ctx.drawImage(img, 0, 0, canvas.width, canvas.height)
        const anchor = document.createElement('a')
        anchor.href = canvas.toDataURL()
        anchor.sendPhoto = img
        anchor.click()
      }
      document.getElementById('canvas')
      var dataURL = canvas.toDataURL()
      console.log(dataURL)
      // img = {encodedImage: dataURL} // Bunu yazarsam ekrana dusmuyor ama veritabanina yaziyor anlamadim neden
      // console.log('canvas.toDataURL()', canvas.toDataURL())
      if (canvas.toDataURL() !== null && canvas.toDataURL() !== undefined) {
        const resBody = await this.$phoneAPI.imgYukle(dataURL) // burda filterli fotoyu tekrardan uploadlamak gerekiyo
        console.log('resBody', JSON.stringify(resBody))
        await this.instagrampostStory({ message: dataURL })
        this.message = ''
...