zoukankan      html  css  js  c++  java
  • 百度编辑器前后端二开图片上传Js Thinkphp tp5 ueditor

    百度编辑器图片上传Js

    ueditor.all.min.js 下载链接


    链接:https://pan.baidu.com/s/1VNgw9ELgRRHKeCQheFkQTw
    提取码:fnfi

    使用方法:

    替换原来的 ueditor.all.min.js 

    NPM 本地快速DEMO:( 前端 )

      创建一个文件夹:执行如下命令; 再到浏览器运行 localhost:3000 ;( 需要配置本地服务器:修改ueditor.config.js 文件的 serverUrl 的值为本地服务器域名入口,默认为:http://192.168.3.25:19998/index/index/hello )

    npm i xuguo_ue && cd node_modules/xuguo_ue && node index.js

       注:PHP需要开启跨域:

            header('Access-Control-Allow-Origin:*');
            header('Access-Control-Allow-Methods: GET,POST,OPTIONS,DELETE,PUT');
            header('Access-Control-Allow-Headers: Origin,Content-Type, Accept, Authorization, X-Request-With');
            header('Access-Control-Allow-Credentials: true');
            header('Access-Control-Allow-Headers: X-Requested-With,X_Requested_With');

    问题:

    只是实现了图片的上传与 Dom 的载入,本人为不改变原生百度的编辑的通用逻辑,图片路径显示依然是相对路径;

       注:当使用PHP Thinkphp 5.1时,如果在使用 ROUTE 并只在 模块里添加跨域代码。会导致不能成功跨域。

    //解决方法一是修改为默认路由方式(/module/controller/action);
    
    //解决方法二是配置ROUTE路由跨域:以下代码作为参考
    
    Route::get('new/:id', 'News/read')
    ->header('Access-Control-Allow-Origin','*')
    ->header('Access-Control-Allow-Methods','GET,POST,OPTIONS,DELETE,PUT')
    ->header('Access-Control-Allow-Headers','Origin,Content-Type, Accept, Authorization, X-Request-With')
    ->header('Access-Control-Allow-Credentials', 'true')
    ->header('Access-Control-Allow-Headers', 'X-Requested-With,X_Requested_With')
    ->allowCrossDomain();
     

       如:PHP 使用 Composer 加载使用:composer require xuying/ueditor;   (默认路由:domain.com/ueditor ;因默认路由与保存图片的地址相同,请自配置config.json).然后创建控制器添加如下代码。

    //添加对应控制器,将下面代码插入 
    header('Access-Control-Allow-Origin:*');
            header('Access-Control-Allow-Methods: GET,POST,OPTIONS,DELETE,PUT');
            header('Access-Control-Allow-Headers: Origin,Content-Type, Accept, Authorization, X-Request-With');
            header('Access-Control-Allow-Credentials: true');
            header('Access-Control-Allow-Headers: X-Requested-With,X_Requested_With');
            $config_file = __DIR__ . '/../config.json'; //fixme 使用自定义config.json路径
            $ss = new Control($config_file);//初始化
            $ss->index();//运行

    解决思路:

    1. 使用过滤(正则)的方式进行交互;(目前推荐)
    2. 使用CDN的方式配置整体BaseUrl ;
    3. PHP 配置输出域名:如列:(可暂时使用)
         

      缺点:导致数据库数据包含了域名,搬家时需要注意资源内容的访问。
      问题:我们可以在提交时过滤掉内容包含的域名,但是编辑器内容丰富,有可能是其它外部的资源,这样为内容替换增加了难度。

    4. -- 

  • 相关阅读:
    setMasksToBounds
    CSRF跨站
    ORM: object relationship mapping
    orm查询
    图书管理系统(增删改)
    django图书管理半成品(MySQL)
    模板继承(练习测试)
    模板层(template)
    django命令(笔记,自己看的)
    django(注册→登录→主页)增强版
  • 原文地址:https://www.cnblogs.com/q1104460935/p/10278630.html
Copyright © 2011-2022 走看看