微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不允许使用PWA分享目标405方法

如何解决不允许使用PWA分享目标405方法

我们有一个注册为共享目标的PWA。一切正常,直到您尝试共享文件并在下面得到此错误为止:

enter image description here

我们的共享目标代码

var quality = 100
    
    
    private fun sendImagetoDevice(quality: Int,icon: Bitmap) {
        Log.e(TAG,"quality of image is $quality ")

        runOnUiThread {
            Toast.makeText(
                this@MainActivity,"Image Quality $quality",Toast.LENGTH_SHORT
            )
                .show()
        }



        if (quality > 0)
            try {
                mProcessImageService?.sendImageFormat(icon.toBase64(quality))
            } catch (e: TransactionTooLargeException) {
                e.message
                this.quality = quality - 20

                sendImagetoDevice(this.quality,icon)
            }
        else {

        }
    }



fun Bitmap.toBase64(quality: Int): String {
    val outputStream = ByteArrayOutputStream()
    this.compress(Bitmap.CompressFormat.JPEG,quality,outputStream)
    val base64String: String = Base64.encodetoString(outputStream.toByteArray(),Base64.NO_WRAP)
    Log.d("MainActivity","outputstream size is ${outputStream.size()}")
    return base64String
}

清单

// share target
self.addEventListener('fetch',event => {
  if (event.request.method !== 'POST' || event.request.url.includes('/collection') === false) {
    event.respondWith(fetch(event.request));
    return;
  }

  event.waitUntil((async () => {
    try {
      const formData = await event.request.formData();
      const image = formData.get('image');
      console.log('image',image);
      const video = formData.get('video');
      console.log('video',video);
      const client = await self.clients.get(event.resultingClientId || event.clientId);
      if (image) {
        client.postMessage({ image,action: 'upload-image' });
      }
      if (video) {
        client.postMessage({ video,action: 'upload-video' });
      }
    } catch(e) {
      console.log(e);
    }
  })());

它是记录图像文件的控制台。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。