如何在Chrome粘貼圖片直接上傳


背景

截圖或頁面復制圖片,可以直接通過Ctrl+v 粘貼上傳圖片

原理

操作:復制(截圖)=>粘貼=>上傳

監聽粘貼事件=>獲取剪貼板里的內容=>發請求上傳

瀏覽器:Chrome、IE11

Chrome瀏覽器

1、通過監聽粘貼事件,event有clipboardData屬性,且clipboardData有item屬性

2、獲取剪切板的base64編碼字符串,傳到后台服務器

3、服務器獲取到base64編碼字符串轉化為圖片保存服務器

4、前台獲取圖片名並展示

IE11

1、IE11是沒有event有clipboardData屬性的,所以不能直接獲取base64編碼字符串

2、頁面放置一個帶有contenteditable屬性的div容器,用於接收IE粘貼的圖片,PS:IE粘貼事件需要在設置了contenteditable屬性的div粘貼才會觸發

3、當進行粘貼操作,讓焦點在div容器中,這時粘貼事件才會觸發,DIV中直接生成IMG

4、從IMG中src獲取base64編碼字符串,傳到后台服務器

5、服務器獲取到base64編碼字符串轉化為圖片保存服務器

6、前台獲取圖片名並展示

注意點:Chrome和IE11 觸發paste事件的區別

1、Chrome無論在哪進行粘貼,均可觸發paste事件
2、IE11只能在div中觸發paste事件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM