参考 https://www.ruanyifeng.com/blog/2021/01/clipboard-api.html

  使用了 navigator.clipboard  api,这个api的使用 要在本地的http://localhost/ 环境,或者https  上面才能使用

  使用的是blob 流复制,

  

   
            const blobInput = this.convertBase64ToBlob("", "image/png");
      await navigator.clipboard.write([
                new ClipboardItem({
                    [blobInput.type]: blobInput,
                }),
            ]);
 
    base64ToBlob(code) {
            const parts = code.split(";base64,");
            const contentType = parts[0].split(":")[1];
            const raw = window.atob(parts[1]);
            const rawLength = raw.length;
            const uInt8Array = new Uint8Array(rawLength);
            for (let i = 0; i < rawLength; ++i) {
                uInt8Array[i] = raw.charCodeAt(i);
            }
            return new Blob([uInt8Array], { type: contentType });
        },
 
就能实现复制了
posted on 2022-04-20 18:20  94汪  阅读(62)  评论(0)    收藏  举报