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

来源:http://www.cnblogs.com/cboydream/archive/2017/01/18/6292899.html
-Advertisement-
Play Games

背景 截圖或頁面複製圖片,可以直接通過Ctrl+v 粘貼上傳圖片 原理 操作:複製(截圖)=>粘貼=>上傳 監聽粘貼事件=>獲取剪貼板里的內容=>發請求上傳 瀏覽器:Chrome、IE11 Chrome瀏覽器 1、通過監聽粘貼事件,event有clipboardData屬性,且clipboardDa ...


背景

截圖或頁面複製圖片,可以直接通過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事件


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • VueJs 入門級 學習。 基於Vue 1.x 的版本,因為 2.X 不適合新手作為入門來學習。放棄JQ 可能是你在 2016 年 聽到的 最多的一句話, 並不是說JQ 不好。 只是現在有了更好更效率的框架了。 ...
  • 在實際開發工作中,總會碰到像滾動,分頁,日曆等展示效果的業務需求,對於接觸過jQuery以及熟悉jQuery使用的人來說,首先想到的肯定是尋找現有的jQuery插件來滿足相應的展示需求。目前頁面中常用的一些組件,都有多種jQuery插件可供選擇,網路上也有很多專門收集jQuery插件的網站。利用jQ ...
  • 使用 :hover 和 :focus 這樣的偽類,我們可以很方便的將元素從一個樣式切換到另一個樣式,而且切換是會有過渡效果。但有時我們想要使用 js 來驅動過渡(即在代碼中觸發過渡)也是可以實現的。 和普通過渡一樣,先創建兩個樣式規則,一個是元素的初始狀態,一個是過渡結束的狀態。然後用 js 在合適 ...
  • HTML DOM 樹形結構: HTML DOM 實例 學習 100 個實例!使用我們的編輯器,你可以編輯 HTML 文檔,然後單擊 "嘗試一下" 按鈕來查看結果。 源代碼: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <b ...
  • 一、function預設參數 二、rest參數 三、擴展運算符 四、箭頭函數 具有詞法作用域的 this this問題 第二種方法是用bind(this),即 但現在我們有了箭頭函數,就不需要這麼麻煩了: ...
  • 1.board.wxml 2.board.js 3.board.wxss ...
  • 終於到了最後了,這裡要告一段落了,整了個js運動框架,咳咳咳,好冷 啊啊啊啊啊啊,這天氣。媽的,工資怎麼也不發,啊,說好的 人與人之間的信任呢?哎,氣誒,不到150字啊,又是這個梗。。怎麼辦?說些什麼呢?哦,就是今天在嘗試做那個,曲面陰影和翹邊 陰影的時候,碰到一個問題,就是a:after這個層,想 ...
  • 引用: <script src="http://static.tctip.com/js/tctip.min.js"></script> <link type="text/css" rel="stylesheet" href="http://static.tctip.com/css/myRewards ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...