1. 程式人生 > >bootstrap-wysiwyg中JS控制元件富文字中的圖片由本地上傳到伺服器(阿里雲、七牛、自己的資料庫)

bootstrap-wysiwyg中JS控制元件富文字中的圖片由本地上傳到伺服器(阿里雲、七牛、自己的資料庫)

一、我假設你是要儲存到自己的資料庫中(因為上傳到阿里雲、七牛更簡單原理一樣的)

點選插入圖片如下圖:


1、其實你插入的時候不需要做什麼處理一樣也可以插入資料庫的(但是前提你插入的那個欄位必須要求足夠空間比如Mysql你要用LONGTEXT型別,否則是存不下的這樣子前臺獲取的時候就取不到)原因是你儲存的時候,它把圖片給轉換為了data:image/gif;base64,這樣子話所以一般不建議直接用,因為你可能存幾張後就會出錯了。

2、先把圖片上傳到伺服器(你自己的)然後再修改圖片的Url,找了好多網上的資料,感覺寫的都比較複雜,嗯這裡自己就試著寫了一個比較簡單的是利用Ajax傳到後臺插入,然後這個控制元件自己會修改它的路徑,只需要如下步驟:

a、開啟你自己呼叫的bootstrap-wysiwyg.js這個檔案,我們來修改一下readFileIntoDataUrl這個方法,應該就是這個檔案的第一個方法啦,把它的先註釋了,修改為這樣子

    var readFileIntoDataUrl = function (fileInfo) {
        var form = new FormData();
        form.append("editorImage", fileInfo);
        var xhr = new XMLHttpRequest();
        xhr.open("post", "/Admin/Ajax/ajaxUploadFile

", false);//這裡是你傳到後臺的入庫的方法,這個方法返回圖片路徑就可以了
        xhr.send(form);
        return xhr.responseText;
    };

b、ajaxUploadFile這個方法要做的事情就是把獲取到的$_FILES中的圖片入庫程式碼如下:

/*後臺bootstrap-wysiwyg.js上傳圖片*/
    public function ajaxUploadFile(){
        header("content-type:text/html;charset=utf-8");
        //echo 'https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1508372197,632975480&fm=80';exit;
        $upload = new \Think\Upload();// 例項化上傳類
        $upload->maxSize   =     3145728 ;// 設定附件上傳大小
        $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 設定附件上傳型別
        $upload->rootPath  =     'Public/Uploads/'; // 設定附件上傳根目錄
        $upload->savePath  =     ''; // 設定附件上傳(子)目錄
        $upload->saveRule = uniqid;
        // 上傳檔案
        $info   =   $upload->upload($_FILES);//上傳圖片的方法
        $imagesModel=M('maiclub_images');
        $data['image_url']=$info['editorImage']['savepath'].$info['editorImage']['savename'];
        $data['create_time']=time();
        $data['id']=null;
        if($imagesModel->add($data)) {
            echo __APP__.'/Public/Uploads/'.$data['image_url'];exit;
        }else{
            echo '入庫失敗了,聯絡管理員';exit;

        }


    }

3、親測是成功的,祝你幸運,也可以成功哦。交流群:368848856嘿嘿


相關推薦

bootstrap-wysiwygJS控制元件文字圖片本地伺服器阿里自己資料庫

一、我假設你是要儲存到自己的資料庫中(因為上傳到阿里雲、七牛更簡單原理一樣的) 點選插入圖片如下圖: 1、其實你插入的時候不需要做什麼處理一樣也可以插入資料庫的(但是前提你插入的那個欄位必須要求足夠空間比如Mysql你要用LONGTEXT型別,否則是存不下的這樣子前臺獲

20170315MFC04_樹形控制元件文字

MFC: 1:MFC是windows下程式設計的基準,是所有桌面應用程式的鼻祖。 樹形控制元件: 1:適合表示有層次的關係,就是有層次的節點。 2:原始操作:增刪改查,樹形控制元件的刪除是所有子集全部刪除,類似於資料夾的關係。 3:裡面的資料使用list來進行承載的。插入等

ueditor文字編輯器跨域圖片解決辦法

在使用百度富文字編輯器的過程中,如果是有一臺單獨的圖片伺服器就需要將上傳的圖片內容放到圖片伺服器,也就是比如在a.com的編輯器上傳圖片,圖片要儲存到img.com的跨域上傳圖片功能,而在ueditor官方文件中說不支援單圖上傳的跨域, 網上查了一下各種花裡胡哨,一頓操作猛如虎,比如加document.dom

layui文字編輯器layedit增加視訊與音訊功能

改動效果: layui2.4.3並沒有視訊、音訊等上傳功能,不過還好,目前有一個基於layui2.4.3的layedit擴充套件,增加了視訊上傳、字型顏色等等。 首先去下載一個layedit擴充套件檔案:中轉站 根據說明替換layedit.js,直接呼叫就會出現上面的效果,注意,編

關於文字編輯器ueditorjsp版檔案到阿里OSS的簡單例項,適合新手

       本人菜鳥一枚,最近公司有需求要用到富文字編輯器,我選擇的是百度的ueditor富文字編輯器,閒話不多說,進入正題:一:ueditor的下載及安裝以及OSS的下載及引入我就不詳細說了,這裡說下要注意的幾點:        1,ueditor下載地址:點選開啟連結

織夢ueditor文字編輯器資源到阿里功能

使用方法ueditor的目錄結構 如圖: 開發的原則中,就是改最少的程式碼,不寫重複的程式碼,所有我們要先梳理這編輯器的請求流程 我們發現可以在一處位置進行修改,不論他傳視訊圖片檔案 都可以備份到阿里雲所有我們可以這樣幹。 如圖:所有的請求都會走uploader上傳類所有我們把程式碼寫到這裡 //需要準備的工

使用wangEditor輕量級的文字編輯器,來批量圖片

1.wangEditor編輯器 wangEditor官網 相對其他幾個編輯器來說, wangEditor還是比較功能齊全的, 而且用起來上手也快. 缺點就是表情不多, 就內建了幾個新浪表情和emoji, 不過可以自己拓展 , 然後選單的圖示也不太好看

文字編輯器ckeditor的圖片配置

以前在工作中用過富文字編輯器,因為以前沒有用過這種東西,所以在使用的時候遇到了一些問題,就是儲存的時候,文字可以正常儲存,但是圖片無法儲存。後來經過配置解決了這個問題,對於新手來說,這個配置可能有點複雜,所以將它記錄下來。首先新建一個ashx檔案,程式碼如下public cl

vue + elementUi + upLoadIamge元件 檔案到阿里oss

<template> <div class="upLoadIamge"> <el-upload action="https://jsonplaceholder.typicode.com/posts/" list-type="pictu

js文件原理form表單 ,FormData + XHR2 + FileReader + canvas

創建 取數 dir wim text 括號 || val 常見類 目錄 form表單上傳 FormData + XHR2 + FileReader + canvas 無刷新本地預覽壓縮上傳實例 目前實現上傳的方式 瀏覽器小於等於IE9(低版本瀏覽器)使用下面的方式實現的

js獲取文字的第一張圖片url正則公式及去除字串裡面的html標籤的正則公式

js獲取富文字中的第一張圖片url正則公式及去除字串裡面的html標籤 後臺發來一個富文字字串裡面可能包含了0、1、2、3…個圖片標籤(img),我們的任務是獲取這個字串裡面第一張圖片的url,如果沒有圖片則返回空 var imgUrlFun = function(str){

MFCEdit控制元件垂直滾動條時,當文字超出時再顯示垂直滾動條

現在我需要實現這樣一個功能:      想要用edit控制元件本身的滾動條,並且設定該屬性,但是該滾動條會一直存在。效果如下圖,很是難看,當沒有輸入資訊時,也會出現垂直滾動條 其實,只有在文字超過設定的區域內才會顯示(在這我不知道如何上傳動態效果圖片,

報表:JS獲取控制元件資訊時,各控制元件變數名梳理

前面分享了在報表中需要獲取控制元件所在行號,以用來獲取所在行上的資料資訊的業務需求,在前面分享的是用按鈕控制元件用來獲取當前所在行的,當實際應用中,我們還有可能用到其他多種控制元件,如:文字控制元件、數字控制元件、密碼控制元件、下拉框控制元件、下拉複選框控制元件、單選複選框控制元件、複選框組控制元件

.NETWebBrowser控制元件內部頁面的JS程式碼與外部C#程式碼的相互呼叫

場景1:C#程式呼叫JS函式重新整理網頁,輸出再見兩字;測試目標:C#呼叫JS函式 場景2:C#程式呼叫JS函式重新整理網頁,輸出文字為使用者輸入的文字;測試目標:C#呼叫帶引數的JS函式 場景3:C#程式呼叫JS函式獲取今日的年月日資訊(yyyy-MM

js設定控制元件的隱藏與顯示

用JavaScript隱藏控制元件的方法有兩種,分別是通過設定控制元件的style的“display”和“visibility”屬性。當style.display="block"或style.visibility="visible"時控制元件或見,當style.displa

React Js Simditor Textarea 文字元件封裝

本文出自: 下面用了jquery如果不需要自行刪除即可. import React from 'react'; import Simditor from "simditor"; import

JSbutton控制元件click事件無法響應的問題

                再點選登入按鈕時無法響應JS事件,後來發現button控制元件的id值和onclick中的方法名相

js呼叫控制元件事件的方法和問題

在js中呼叫控制元件事件的方法和問題 編者:李國帥 qq:9611153 微信lgs9611153 時間:2008-11-27 9:38 背景原因: 當用戶點選控制元件,控制元件內部響應lbuttondown,然後激發訊息fire_onclick。客戶端響應控制元件 onclic

ATL修改文字控制元件文字顏色

1、新增以下巨集,處理WM_CTLCOLOR*訊息 MESSAGE_HANDLER(WM_CTLCOLOR*, OnCtlColor) 2、在OnCtlColor中: LRESULT CAboutDlg::OnCtlColor(UINT /*uMsg*/, WPARAM

半透明視窗顯示標準控制元件控制元件文字不透明的實現方案附原始碼

原文 http://blog.csdn.net/harbinzju/article/details/7907127 和大家分享一下在半透明視窗中顯示標準控制元件的實現方案。通過層疊視窗可以簡單實現半透明與不規則形狀視窗的效果,但在其上顯示標準控制元件(控制元件與文字不