tinymce-vue使用問題及解決記錄

一菇用、本地圖片上傳:
1.轉(zhuǎn)成base64纱意,轉(zhuǎn)換后的字符粘貼到notpadd++中看了下悬包,有近20萬個字符荠锭,所以直接沒考慮
2.選擇圖片后調(diào)用后臺方法傳到服務(wù)器弟跑,保存后返回一個網(wǎng)絡(luò)地址醋虏,傳入success的回調(diào)方法藏澳,通過網(wǎng)絡(luò)地址的方式顯示计寇。

前端配置代碼如下:

images_upload_handler: (blobInfo, success, failure) => {
                        if (blobInfo.blob().size > 1048576) {
                            failure('文件體積過大')
                        }
                        // 發(fā)送到后臺娇豫,傳送到阿里云oss匙姜,返回上傳后的網(wǎng)絡(luò)地址
                        const uploadImgUrl =this.GLOBAL.WebSite + "/article/imgUpload";
                        var xhr, formData;
                        //原先用axios發(fā)文件一直不成功,參照官方文檔冯痢。氮昧。第一次用XMLHttpRequest這鬼東西
                        xhr = new XMLHttpRequest();
                        xhr.withCredentials = false;
                        xhr.open('POST', uploadImgUrl);
                        formData = new FormData();
                        formData.append('file', blobInfo.blob());
                        xhr.onload = function() {
                            if (xhr.status != 200) {
                                failure('HTTP Error: ' + xhr.status);
                                return;
                            }
                            const result = JSON.parse(this.responseText);
                            if (!result || typeof result.value != 'string') {
                                failure('Invalid JSON: ' + xhr.responseText);
                                return;
                            }
                          // 后臺返回json框杜,對應(yīng)的值的key是"value",所以這里為result.value
                            success(result.value);
                        }
                        xhr.send(formData);
                    }

阿里云買了個打折OSS服務(wù)器袖肥,上傳OSS服務(wù)器的后臺代碼如下:

public static void uploadFile(MultipartFile multipartFile, String fileName) {
    OSSClient ossClient = new OSSClient(AliyunOssConfig.getEndpoint(),
        AliyunOssConfig.getAccessKeyId(), AliyunOssConfig.getAccessKeySecret());
    try {
      if (!ossClient.doesBucketExist(AliyunOssConfig.getDefaultBucketName())) {
        ossClient.createBucket(AliyunOssConfig.getDefaultBucketName());
      }
      ossClient.putObject(AliyunOssConfig.getDefaultBucketName(), fileName,
          multipartFile.getInputStream());
    } catch (Exception e) {
      logger.error(e,"uploadFile is error.");
    } finally {
      ossClient.shutdown();
    }
  }

上傳成功后需要將阿里云OSS的文件獲取路徑返回給前端組件處理咪辱。具體格式為:bucketName.endpoint/fileName,
如:http://leslie1015.oss-cn-hangzhou.aliyuncs.com/1234.jpg椎组,前端獲取后傳入success(url)梧乘,組件將圖片渲染為<img src="http://leslie1015.oss-cn-hangzhou.aliyuncs.com/1234.jpg"/>

package com.leslie.silk.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
*阿里云OSS配置
/
@Component
public class AliyunOssConfig {

  private static String endpoint;

  private static String accessKeyId;

  private static String accessKeySecret;

  private static String defaultBucketName;

  private static String endpointContent;

  private AliyunOssConfig() {
  }

  public static String getEndpoint() {
    return endpoint;
  }

  @Value("${aliyun.oss.endpoint}")
  private void setEndpoint(String endpoint) {
    AliyunOssConfig.endpoint = endpoint;
  }

  public static String getAccessKeyId() {
    return accessKeyId;
  }

  @Value("${aliyun.oss.accessKeyId}")
  private void setAccessKeyId(String accessKeyId) {
    AliyunOssConfig.accessKeyId = accessKeyId;
  }

  public static String getAccessKeySecret() {
    return accessKeySecret;
  }

  @Value("${aliyun.oss.accessKeySecret}")
  private void setAccessKeySecret(String accessKeySecret) {
    AliyunOssConfig.accessKeySecret = accessKeySecret;
  }

  public static String getDefaultBucketName() {
    return defaultBucketName;
  }

  @Value("${aliyun.oss.defaultBucketName}")
  private void setDefaultBucketName(String defaultBucketName) {
    AliyunOssConfig.defaultBucketName = defaultBucketName;
  }

  public static String getEndpointContent() {
    return endpointContent;
  }

  @Value("${aliyun.oss.endpointContent}")
  public void setEndpointContent(String endpointContent) {
    AliyunOssConfig.endpointContent = endpointContent;
  }
}

二、桌面端富文本組件正常庐杨,移動端不顯示
其實很簡單选调。。灵份。仁堪。愣是搞了半天
F12,切換到移動模式顯示填渠,發(fā)現(xiàn)是mobile/theme.js中的<!DOCTYPE html>報錯弦聂,原來是針對移動端有專門的js文件渲染,在/node_modules/tinymce/themes下存在兩個目錄氛什,分別是silver和mobile莺葫,在封裝組件的時候只引用了這個:

import 'tinymce/themes/silver'

加上如下引用:

    import 'tinymce/themes/mobile'

手機端即可成功渲染

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市枪眉,隨后出現(xiàn)的幾起案子捺檬,更是在濱河造成了極大的恐慌,老刑警劉巖贸铜,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件堡纬,死亡現(xiàn)場離奇詭異,居然都是意外死亡蒿秦,警方通過查閱死者的電腦和手機烤镐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來棍鳖,“玉大人炮叶,你說我怎么就攤上這事《纱Γ” “怎么了镜悉?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長骂蓖。 經(jīng)常有香客問我积瞒,道長,這世上最難降的妖魔是什么登下? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任茫孔,我火速辦了婚禮叮喳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘缰贝。我一直安慰自己馍悟,他們只是感情好,可當我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布剩晴。 她就那樣靜靜地躺著锣咒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赞弥。 梳的紋絲不亂的頭發(fā)上毅整,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天,我揣著相機與錄音绽左,去河邊找鬼悼嫉。 笑死,一個胖子當著我的面吹牛拼窥,可吹牛的內(nèi)容都是我干的戏蔑。 我是一名探鬼主播,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼鲁纠,長吁一口氣:“原來是場噩夢啊……” “哼总棵!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起改含,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤情龄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后候味,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刃唤,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年白群,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片硬霍。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡帜慢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出唯卖,到底是詐尸還是另有隱情粱玲,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布拜轨,位于F島的核電站抽减,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏橄碾。R本人自食惡果不足惜卵沉,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一颠锉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧史汗,春花似錦琼掠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至戈毒,卻和暖如春艰猬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背埋市。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工姥宝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人恐疲。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓腊满,卻偏偏與公主長得像,于是被迫代替她去往敵國和親培己。 傳聞我的和親對象是個殘疾皇子碳蛋,可洞房花燭夜當晚...
    茶點故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容