tinymce vue 部分工具不显示_tinymce-vue使用问题及解决记录
一、本地图片上传:
1.转成base64,转换后的字符粘贴到notpadd++中看了下,有近20万个字符,所以直接没考虑
2.选择图片后调用后台方法传到服务器,保存后返回一个网络地址,传入success的回调方法,通过网络地址的方式显示。
前端配置代码如下:
images_upload_handler: (blobInfo, success, failure) => {
if (blobInfo.blob().size > 1048576) {
failure('文件体积过大')
}
// 发送到后台,传送到阿里云oss,返回上传后的网络地址
const uploadImgUrl =this.GLOBAL.WebSite + "/article/imgUpload";
var xhr, formData;
//原先用axios发文件一直不成功,参照官方文档。。第一次用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,对应的值的key是"value",所以这里为result.value
success(result.value);
}
xhr.send(formData);
}
阿里云买了个打折OSS服务器,上传OSS服务器的后台代码如下:
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),组件将图片渲染为
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,切换到移动模式显示,发现是mobile/theme.js中的报错,原来是针对移动端有专门的js文件渲染,在/node_modules/tinymce/themes下存在两个目录,分别是silver和mobile,在封装组件的时候只引用了这个:
import 'tinymce/themes/silver'
加上如下引用:
import 'tinymce/themes/mobile'
手机端即可成功渲染
tinymce vue 部分工具不显示_tinymce-vue使用问题及解决记录相关推荐
- tinymce vue 部分工具不显示_TinyMCE:按需显示和隐藏内联工具栏
我很确定你已经找到了你的问题的答案.由于我找到确切的答案有点困难,所以我最后做了这些. 我的TinyMCE的4.0.1版 显示: tinymce.init({ selector: "div. ...
- tinymce vue 部分工具不显示_2018年编程工具发展趋势
通过关注编码的趋势,你可以了解很多关于这个世界的信息.在计算机编程界,热门的新工具常常说明人们关心什么,企业在投资什么. 今年的趋势数据表明,快速构建反应式网页和数据科学越来越重要.管理Web浏览器之 ...
- vue 不识别svg_vue中引用svg,vue引入svg不显示,vue引用svg配置,vue3.0+ts如何配置svg...
注意: 如果按照下面配置正确发现svg依然无法显示可能s'v'g-sprite-loader的版本过高,重新指定版本下载npm i svg-sprite-loader@3.8.0 --save-dev ...
- tinymce vue 部分工具不显示_工具栏图标未在tinymce(4.0.1)文本编辑器中显示
我正在将tinyMCE从3.4.2升级到4.0.1.一切都在当地完美.但是,当我在服务器上发布所有内容时,问工具栏加载正常,但图标显示不正确.注意:我有针对app和CDN的单独项目.我猜这是一个跨域/ ...
- SAP Cloud Application Programming bookshop 例子 Vue页面不能正常显示的原因分析
我在本地用cds run 命令启动 SAP Cloud Application Programming 应用后,访问如下 url: http://localhost:4004/vue/index.ht ...
- ArcGIS API for JS 4.x + Vue 【1】—— 显示地图和添加点线面
系列文章目录 [1] ArcGIS API for JS 4.x + Vue 之 显示地图和添加点线面 文章目录 系列文章目录 前言 一.显示地图 安装依赖 1. 添加模块 2. 引入CSS样式 3. ...
- vue实现页面权限显示_vue实现菜单权限控制
大家在做后台管理系统时一般都会涉及到菜单的权限控制问题.当然解决问题的方法无非两种--前端控制和后端控制.我们公司这边的产品迭代速度较快,所以我们是从前端控制路由迭代到后端控制路由.下面我会分别介绍这 ...
- vue安装概要以及vue测试工具
一.概述 1.安装node,去node官网 2.新建一个项目,通过npm init命令初始化,即创建一个package.json文件 3.用命令 npm install vue -g 全局安装vue( ...
- vue devtools面板没有显示_vue 基础入门(四)
vue 基础入门(四) 1.全局配置 Vue.config 是一个对象,包含 Vue 的全局配置.可以在启动应用之前修改下列 property: 1.1 silent 类型:boolean 默认值:f ...
最新文章
- 缓存击穿!竟然不知道怎么写代码???
- 币圈老人李启元站队BCH,背后的原因是什么?
- 网络入侵检测规避工具fragrouter
- ACM 模板--邻接表 有向图 拓扑排序
- 在Delphi程序中应用IE浏览器控件
- mysql. Oracle创建视图,Navicat 教程:Oracle 视图
- public private protected
- 各种排序算法稳定性的总结!!!
- 将普通文章内容替换为微信图文消息符合的内容
- java通过+拼接字符串导致的无效SQL,三目运算符与+运算符结合使用时需要注意了
- HTML5 目前无法实现的5件事
- 微信扫一扫门禁开门小程序开发制作
- C语言学习-翁凯(第十三章笔记)
- SpringCloud(8)— 使用ElasticSearch(RestClient)
- 读《互联网:一部概念史》有感
- 计算机作业上海世博会,上海世博会开启城市生活新未来
- 怎么修改PDF文档背景
- 微信公众号开发——接收用户消息(图文、语言、上报位置、关注、取消关注)及自动回复
- javascript随机抽签程序
- HTML期末学生大作业-拯救宠物网页作业html+css