Summernote實現圖片上傳功能

来源:http://www.cnblogs.com/pppploi8/archive/2016/07/10/5657983.html
-Advertisement-
Play Games

還是接著之前說過的最近在寫一個BootStrap網頁....然後要用富文本編輯器,隨便搜了下就選了這貨 然後發現了很尷尬的問題...圖片上傳功能無效....然後各種搜索各種無果...最後怒翻Summernote官方文檔總算解決了,總之寫下解決過程 後端部分就不提供代碼了,滿大街都是,這裡假設後端拿到 ...


還是接著之前說過的最近在寫一個BootStrap網頁....然後要用富文本編輯器,隨便搜了下就選了這貨

然後發現了很尷尬的問題...圖片上傳功能無效....然後各種搜索各種無果...最後怒翻Summernote官方文檔總算解決了,總之寫下解決過程

後端部分就不提供代碼了,滿大街都是,這裡假設後端拿到上傳文件後返迴文件的地址

首先附上參考資料:Summernote官方開發文檔

簡單說下Summernote的圖片上傳功能實現方案

首先根據官方文檔提供的API,掛接文件上傳事件,然後自己用JS重新上傳文件,最後用API把圖片插入到編輯框內即可

本來是挺簡單的問題,可惜官方也不知道為什麼居然更改了介面寫法...然後網上搜到的資料全都坑掉了....雖然也有我搜的不夠深入的原因

總之整理下核心的兩個SummernoteAPI,接管文件上傳事件和插入圖片,根據官方文檔說明格式如下

//接管圖片上傳事件
$('#summernote').summernote({
    callbacks: {
      onImageUpload: function(files) {
        // 上傳圖片到伺服器並且插入圖片到編輯框
      }
    }
});

//插入圖片
$('#summernote').summernote('insertImage', url, filename);
//更加詳細的解釋見上面提供的官網API文檔

然後就可以很輕鬆的實現支持上傳圖片的Summernote編輯框了

代碼如下:

$('#summernote').summernote({
    callbacks: {
        onImageUpload: function(files) {
            //上傳圖片到伺服器,使用了formData對象,至於相容性...據說對低版本IE不太友好
            var formData = new FormData();
            formData.append('file',files[0]);
            $.ajax({
                url : 'upload',//後臺文件上傳介面
                type : 'POST',
                data : formData,
                processData : false,
                contentType : false,
                success : function(data) {
                    $('#summernote').summernote('insertImage',data,'img');
                }
            });
        }
    }
});

最後,這隻實現了一個最簡單的,相容性不怎樣而且完全不考慮錯誤異常提示的圖片上傳功能而已....請根據需要自行修改(如果真的有人看我博客的話


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

-Advertisement-
Play Games
更多相關文章
  • 博主最近在最有做一個嵌入式課程設計,要求是利用基於cortax a8的物聯網實驗箱做一個簡單的嵌入式網頁交互系統作為課程設計來驗收評分。因為本身自己是學前端的,所以網頁部分並不是重點,主要是和boa伺服器之間的通信,課程實驗給的例子是直接使用printf來列印html標簽形成新的頁面,有過前端開發經 ...
  • ***設置超鏈接的樣式示例 a:link 超鏈接被點前狀態 a:visited 超鏈接點擊後狀態 a:hover 懸停在超鏈接時 a:active 點擊超鏈接時 在定義這些狀態時,有一個順序l v h a 代碼區: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...
  • [1]常量[2]函數 ...
  • jQuery 插件可以為你做許多事情,你可以很容易地把這些插件集成到您的網站。網路上的 jQuery 日期選擇器和日曆插件很多,但找不到很滿意的時間選擇器插件。 在這裡,我們收集了最好的一組 jQuery 時間選擇器插件列表分享給大家。 ...
  • CSS(Cascading Style Sheet,疊層樣式表),作用是美化HTML網頁。 /*註釋區域*/此為註釋語法 一、樣式表 (一)樣式表的分類 1.內聯樣式表 和HTML聯合顯示,控制精確,但是可重用性差,冗餘較多。 例:<p style="font-size:14px;">內聯樣式表</ ...
  • 雪碧圖的應用實例 ...
  • 文章同步自個人博客:http://www.52cik.com/2016/07/10/consecutive dates.html 這是群里一朋友問的問題,當時我說判斷下 day 是否相鄰即可,後來細想,發現完全不對。 <! more 問題需求 給定5個相同格式的日期,怎麼判斷是否是連續5天呢? 我當 ...
  • overflow:hidden這個CSS樣式是大家常用到的CSS樣式,但是大多數人對這個樣式的理解僅僅局限於隱藏溢出,而其實它還有清除浮動這個功能。 這段代碼是一個做淘寶搜索框中的一段代碼,這裡overflow:hidden就起到了一個清除浮動的效果。 具體代碼可以看慕課網http://www.im ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...