點選複製圖片
阿新 • • 發佈:2022-04-20
參考 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 }); }, 就能實現複製了