葱葱葱葱葱呀 2019-05-06 09:03 采纳率: 0%
浏览 989

ueditor百度编辑器远程抓取图片,下载到本地并更改路径(php版)

大部分图片还是显示http开头,并没有保存在本地,图片地址也未修改;
请教各路大牛~

  • 写回答

1条回答 默认 最新

  • 一只小爪磕 新星创作者: 前端开发技术领域 2024-05-23 17:48
    关注

    本答案由爪磕协同GPT-4o回答,希望对您有所帮助 解决问题望采纳!


    要在使用UEditor进行远程图片抓取并下载到本地目录,同时更新图片路径的过程中,确保所有图片都能正确下载并替换路径,需按照以下步骤进行配置和代码编写:

    步骤一:配置UEditor

    首先,确保在ueditor.config.js中启用了远程图片抓取功能:

    // ueditor.config.js
    window.UEDITOR_CONFIG = {
        // 其他配置项...
        catchRemoteImageEnable: true,
        catcherActionName: "catchimage", // 执行抓取远程图片的action名称
        catcherUrlPrefix: "", // 图片访问路径前缀
        catcherFieldName: "source", // 远程图片抓取的字段名称
        catcherPathFormat: "/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", // 本地保存路径
        catcherLocalDomain: ["localhost", "127.0.0.1"], // 允许的本地域名
        // 其他配置项...
    };
    

    步骤二:配置服务器端PHP代码

    在UEditor的PHP配置文件中,确保正确配置了抓取远程图片的路径和其他相关参数:

    // config.json
    {
        /* 抓取远程图片配置 */
        "catcherActionName": "catchimage", /* 执行抓取远程图片的action名称 */
        "catcherFieldName": "source", /* 提交的图片列表表单名称 */
        "catcherPathFormat": "/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
        "catcherUrlPrefix": "", /* 图片访问路径前缀 */
        "catcherMaxSize": 2048000, /* 上传大小限制,单位B */
        "catcherAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 抓取图片格式显示 */
        
        // 其他配置项...
    }
    

    步骤三:实现抓取和保存图片的PHP代码

    php/controller.php中实现抓取并保存图片到本地的功能。以下是一个示例:

    <?php
    switch ($action) {
        case 'catchimage':
            $result = include("action_crawler.php");
            break;
        // 其他action处理...
    }
    
    // 输出结果
    if (isset($callback)) {
        if (preg_match("/^[\w_]+$/", $callback)) {
            echo htmlspecialchars($callback) . '(' . $result . ')';
        } else {
            echo json_encode(array(
                'state' => 'callback参数不合法'
            ));
        }
    } else {
        echo $result;
    }
    ?>
    
    评论

报告相同问题?