如何安装tinymce可以参考:在vuecli3.0+中使用tinymce及实现多图上传,文件上传,公式编辑等功能 - huihuihero - 博客园

我改的是 交互的部分,重点部分记录下来,便日后复查。

1、多图上传是依赖于多图上传的,所以单图上传很重要,我是上传到阿里云oss

                images_upload_handler: (blobInfo, success, failure) => {
                    //console.log(blobInfo);
                    if (blobInfo.blob().size/1024/1024>2) {
                        failure("上传失败,图片大小请控制在 2M 以内")
                    } else {
                        let formData = new FormData()
                        //formData.append("imgData", blobInfo.base64());
                        formData.append("name", blobInfo.blob().name);
                        formData.append("size", blobInfo.blob().size);
                        formData.append("type", blobInfo.blob().type);
                        formData.append('file', blobInfo.blob());//, blobInfo.filename()
                        // console.log(blobInfo.blob());
                        this.$api.unloadImg(formData).then(res => {
                            success(res)
                        }).catch(() => {
                            failure('上传出错,服务器开小差了呢')
                        })    
                    }
                }

api地址是:

unloadImg(data) {
        return request({
            url: '/admin/a/upload',//'/admin/a/unloadimg',
            method: 'post',
            data,
        })
    }

多图上传的,跟参考的网址是有差别的

 地址是:两种方式都行

import '/public/tinymce/axupimgs/plugin'  //多图上传

不用添加index.js, 这是我的理解啊。加了就报错

最后很重要的一点

var baseURL = tinymce.baseURL;
var iframe1 = baseURL+'/plugins/axupimgs/upfiles.html';

这里是改成自己项目的ip和端口地址

比如我的:

var baseURL = 'http://localhost:3000';//这里是该项目的ip地址
	
var iframe1 = baseURL+'/public/tinymce/axupimgs/upfiles.html';

在本地的话可以正常使用。

但是如果到了打包部署到线上,

这里就要修改,比如打包后的,是没有了public文件夹了

所以要修改成

var baseURL = window.location.origin; //'http://localhost:3000';//这里是该项目的ip地址
	
//本地的数据是 /public/tinymce/.....======>'/public/tinymce/axupimgs/upfiles.html';
//打包后部署到线上的路径是xxx.com/tinymce/....=======> '/tinymce/axupimgs/upfiles.html';
var iframe1 = baseURL+'/tinymce/axupimgs/upfiles.html';

 这些是要注意的地方。

后面发现这种方式在本地也能上传了

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐